From 4fab998e51cd5d1adf2cad601f7c265756a9607d Mon Sep 17 00:00:00 2001 From: defiQUG Date: Sat, 18 Apr 2026 12:07:15 -0700 Subject: [PATCH] chore: sync workspace docs, configs, and submodules --- .env.master.example | 31 + MEV_Bot | 2 +- ProxmoxVE | 2 +- ai-mcp-pmm-controller | 2 +- alltra-lifi-settlement | 2 +- .../registry/chain138-cusdc-v2.json | 21 + .../registry/chain138-cusdt-v2.json | 21 + .../elemental-imperium-network-registry.json | 37 + ...ental-imperium-wallet-overlay.example.json | 23 + .../additional-wallet-inventory.json | 62 + .../additional-wallet-inventory.template.json | 62 + .../mainnet-cwusdc-usdc-support-policy.json | 53 + .../promod-uniswap-v2-liquidity-policy.json | 83 + .../source-to-cex-production-policy.json | 35 + .../cache/standard-config-params-mainnet.toml | 41 + .../cache/standard-config-roles-mainnet.toml | 8 + .../cache/standard-versions-mainnet.toml | 446 + config/pmm-soak-wallet-grid.json | 71903 ++++++++++++++++ config/solana-gru-bridge-lineup.json | 133 + .../deployed/endpoint-apothem-or-mainnet.env | 10 + .../xdc-zero/deployed/endpoint-chain138.env | 12 + .../endpointconfig.fragment.chain138.json | 13 + ...cparentnet-register-chain138.fragment.json | 7 + cross-chain-pmm-lps | 2 +- dbis_core | 2 +- ...8_TO_SOLANA_GRU_TOKEN_DEPLOYMENT_LINEUP.md | 64 + ..._WEMIX_1111_BRIDGE_COMPLETION_CHECKLIST.md | 116 + .../COMPREHENSIVE_CAPITAL_BASELINE.md | 26 + ...TO_COM_OTC_BEFORE_AFTER_OPERATOR_MATRIX.md | 80 + ...AND_SAME_DAY_CORRIDOR_ASSETS_2026-04-17.md | 5 + ...LIVE_PRODUCTION_TASK_LIST_SOURCE_TO_CEX.md | 11 + .../PROMOD_GRU_V2_FULL_MESH_GAP_REPORT.md | 227 + ...ISWAP_V2_FIRST_DEPLOYMENT_TARGET_MATRIX.md | 27 + .../PROMOD_UNISWAP_V2_LIQUIDITY_PROGRAM.md | 40 + .../PROMOD_UNISWAP_V2_LIVE_PAIR_DISCOVERY.md | 19 + ...OMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_MATRIX.md | 112 + ...WAP_V2_PHASE1_BRIDGE_3X_OPERATOR_PACKET.md | 420 + ...NISWAP_V2_PHASE1_BRIDGE_FROM_138_MATRIX.md | 112 + ...NISWAP_V2_PHASE1_BRIDGE_OR_MINT_RUNBOOK.md | 760 + ...D_UNISWAP_V2_PHASE1_EXECUTION_CHECKLIST.md | 195 + ...ROMOD_UNISWAP_V2_PHASE1_FUNDING_ACTIONS.md | 284 + ...PROMOD_UNISWAP_V2_PHASE1_FUNDING_BUNDLE.md | 100 + ...MOD_UNISWAP_V2_PHASE1_FUNDING_READINESS.md | 89 + ..._PHASE1_REMAINING_8_OPERATOR_PASTE_PACK.md | 634 + ..._V2_PHASE1_REMAINING_8_SHELL_PASTE_PACK.sh | 458 + ...D_UNISWAP_V2_PHASE2_OPERATOR_PASTE_PACK.md | 11987 +++ ...MOD_UNISWAP_V2_PHASE2_OPERATOR_SEQUENCE.md | 11894 +++ ...OMOD_UNISWAP_V2_PHASE2_SHELL_PASTE_PACK.sh | 8813 ++ ...ISWAP_V2_PHASE2_WAVE1_COMPLETION_STATUS.md | 83 + ...WAP_V2_PHASE2_WAVE2_OPERATOR_PASTE_PACK.md | 9231 ++ ...ISWAP_V2_PHASE2_WAVE2_OPERATOR_SEQUENCE.md | 9190 ++ ...NISWAP_V2_PHASE2_WAVE2_SHELL_PASTE_PACK.sh | 6785 ++ .../PROMOD_UNISWAP_V2_PHASE_ORDER.md | 25 + .../PROMOD_UNISWAP_V2_PROMOTION_GATES.md | 34 + .../PROVIDER_FACING_PACKAGE_SOURCE_TO_CEX.md | 190 + .../SOURCE_TO_CEX_EXECUTION_PLAN.md | 22 + .../SOURCE_TO_CEX_PRODUCTION_READINESS.md | 24 + ...LIQUIDITY_DIVERSIFICATION_BUILD_PROGRAM.md | 3 + .../WEMIX_BRIDGE_VERIFICATION_STATUS.md | 51 + .../ADD_CHAIN138_TO_TRUST_WALLET.md | 8 +- docs/04-configuration/pr-ready/README.md | 42 +- .../pr-ready/chain138-asset-package/README.md | 66 + .../listing-token-submissions.chain138.json | 71 + .../chain138-asset-package/manifest.json | 23 + .../wallet-token-submissions.chain138.json | 201 + .../pr-ready/eip155-138-package/README.md | 30 + .../eip155-138.chainlist.json | 52 + .../pr-ready/eip155-138-package/manifest.json | 14 + .../trust-wallet-registry-chain138.json | 28 + .../04-configuration/pr-ready/eip155-138.json | 8 +- docs/MASTER_INDEX.md | 30 + explorer-monorepo | 2 +- gru-docs | 2 +- mcp-proxmox | 2 +- metamask-integration | 2 +- miracles_in_motion | 2 +- pr-workspace/chains | 2 +- .../extraction/bridge-canary-plan-latest.json | 78 + ...11-bridge-completion-checklist-latest.json | 122 + ...comprehensive-capital-baseline-latest.json | 99 + ...e-and-same-day-corridor-assets-latest.json | 28 + ...od-gru-v2-full-mesh-gap-report-latest.json | 2019 + ...first-deployment-target-matrix-latest.json | 672 + ...d-uniswap-v2-liquidity-program-latest.json | 897 + ...uniswap-v2-live-pair-discovery-latest.json | 580 + .../promod-uniswap-v2-phase-order-latest.json | 656 + ...wap-v2-phase1-bridge-3x-matrix-latest.json | 155 + ...ase1-bridge-3x-operator-packet-latest.json | 162 + ...-phase1-bridge-from-138-matrix-latest.json | 170 + ...-phase1-bridge-or-mint-runbook-latest.json | 299 + ...-v2-phase1-execution-checklist-latest.json | 405 + ...swap-v2-phase1-funding-actions-latest.json | 274 + ...iswap-v2-phase1-funding-bundle-latest.json | 215 + ...ap-v2-phase1-funding-readiness-latest.json | 390 + ...emaining-8-operator-paste-pack-latest.json | 252 + ...1-remaining-8-shell-paste-pack-latest.json | 19 + ...-v2-phase2-operator-paste-pack-latest.json | 3626 + ...ap-v2-phase2-operator-sequence-latest.json | 3109 + ...wap-v2-phase2-shell-paste-pack-latest.json | 1592 + ...phase2-wave1-completion-status-latest.json | 461 + ...ase2-wave2-operator-paste-pack-latest.json | 2794 + ...phase2-wave2-operator-sequence-latest.json | 2438 + ...-phase2-wave2-shell-paste-pack-latest.json | 1228 + ...mod-uniswap-v2-promotion-gates-latest.json | 1052 + .../source-to-cex-execution-plan-latest.json | 116 + ...o-cex-offchain-sink-validation-latest.json | 25 + ...ce-to-cex-production-readiness-latest.json | 102 + ...perator-public-liquidity-table-latest.json | 37 + .../deployment/send-eth-ei-matrix-wallets.sh | 160 + .../apply_elemental_imperium_wallet_labels.py | 131 + ..._wemix_1111_bridge_completion_checklist.py | 279 + scripts/lib/comprehensive_capital_baseline.py | 61 + scripts/lib/dump_cw_usd_quotes.py | 270 + .../lib/elemental_imperium_wallet_common.py | 59 + ...mod_uniswap_v2_phase2_wave2_live_subset.py | 211 + .../lib/promod_gru_v2_full_mesh_gap_report.py | 318 + ...omod_uniswap_v2_first_deployment_matrix.py | 186 + .../promod_uniswap_v2_liquidity_program.py | 203 + .../promod_uniswap_v2_live_pair_discovery.py | 299 + ...omod_uniswap_v2_phase1_bridge_3x_matrix.py | 125 + ...wap_v2_phase1_bridge_3x_operator_packet.py | 169 + ...niswap_v2_phase1_bridge_from_138_matrix.py | 149 + ...niswap_v2_phase1_bridge_or_mint_runbook.py | 257 + ...d_uniswap_v2_phase1_execution_checklist.py | 166 + ...romod_uniswap_v2_phase1_funding_actions.py | 202 + ...promod_uniswap_v2_phase1_funding_bundle.py | 175 + ...mod_uniswap_v2_phase1_funding_readiness.py | 314 + ...niswap_v2_phase1_remaining_8_paste_pack.py | 112 + ..._v2_phase1_remaining_8_shell_paste_pack.py | 77 + ...d_uniswap_v2_phase2_operator_paste_pack.py | 100 + ...mod_uniswap_v2_phase2_operator_sequence.py | 246 + ...omod_uniswap_v2_phase2_shell_paste_pack.py | 67 + ...iswap_v2_phase2_wave1_completion_status.py | 214 + ...wap_v2_phase2_wave2_operator_paste_pack.py | 100 + ...iswap_v2_phase2_wave2_operator_sequence.py | 249 + ...niswap_v2_phase2_wave2_shell_paste_pack.py | 67 + scripts/lib/promod_uniswap_v2_phase_order.py | 110 + .../lib/promod_uniswap_v2_promotion_gates.py | 251 + scripts/lib/source_to_cex_execution_plan.py | 63 + .../lib/source_to_cex_offchain_sink_tool.py | 233 + .../lib/source_to_cex_production_readiness.py | 79 + ...validate_elemental_imperium_wallet_grid.py | 103 + .../run-mainnet-cwusdc-usdc-support.sh | 138 + scripts/validation/validate-config-files.sh | 15 + .../apply-elemental-imperium-wallet-labels.sh | 6 + ...-wemix-1111-bridge-completion-checklist.sh | 11 + .../verify/build-chain138-pr-ready-package.sh | 20 + .../build-comprehensive-capital-baseline.sh | 6 + scripts/verify/build-cw-usd-quote-dump.sh | 14 + ...uild-promod-gru-v2-full-mesh-gap-report.sh | 7 + ...iswap-v2-first-deployment-target-matrix.sh | 7 + ...ild-promod-uniswap-v2-liquidity-program.sh | 7 + ...d-promod-uniswap-v2-live-pair-discovery.sh | 7 + .../build-promod-uniswap-v2-phase-order.sh | 7 + ...omod-uniswap-v2-phase1-bridge-3x-matrix.sh | 5 + ...wap-v2-phase1-bridge-3x-operator-packet.sh | 5 + ...niswap-v2-phase1-bridge-from-138-matrix.sh | 5 + ...niswap-v2-phase1-bridge-or-mint-runbook.sh | 8 + ...d-uniswap-v2-phase1-execution-checklist.sh | 7 + ...romod-uniswap-v2-phase1-funding-actions.sh | 5 + ...promod-uniswap-v2-phase1-funding-bundle.sh | 5 + ...mod-uniswap-v2-phase1-funding-readiness.sh | 5 + ...-phase1-remaining-8-operator-paste-pack.sh | 8 + ...-v2-phase1-remaining-8-shell-paste-pack.sh | 8 + ...d-uniswap-v2-phase2-operator-paste-pack.sh | 6 + ...mod-uniswap-v2-phase2-operator-sequence.sh | 5 + ...omod-uniswap-v2-phase2-shell-paste-pack.sh | 6 + ...iswap-v2-phase2-wave1-completion-status.sh | 7 + ...wap-v2-phase2-wave2-operator-paste-pack.sh | 7 + ...iswap-v2-phase2-wave2-operator-sequence.sh | 7 + ...niswap-v2-phase2-wave2-shell-paste-pack.sh | 7 + ...build-promod-uniswap-v2-promotion-gates.sh | 7 + .../build-source-to-cex-execution-plan.sh | 4 + ...uild-source-to-cex-production-readiness.sh | 5 + ...heck-mainnet-cwusdc-usdc-support-health.py | 327 + ...mod-uniswap-v2-phase2-wave2-live-subset.sh | 8 + ...rt-source-to-cex-offchain-sink-from-env.sh | 5 + ...validate-elemental-imperium-wallet-grid.sh | 5 + .../validate-source-to-cex-offchain-sinks.sh | 5 + smom-dbis-138 | 2 +- the-order | 2 +- token-lists/lists/dbis-138.tokenlist.json | 2 +- 182 files changed, 166285 insertions(+), 24 deletions(-) create mode 100644 config/dbis-institutional/registry/chain138-cusdc-v2.json create mode 100644 config/dbis-institutional/registry/chain138-cusdt-v2.json create mode 100644 config/elemental-imperium-network-registry.json create mode 100644 config/elemental-imperium-wallet-overlay.example.json create mode 100644 config/extraction/additional-wallet-inventory.json create mode 100644 config/extraction/additional-wallet-inventory.template.json create mode 100644 config/extraction/mainnet-cwusdc-usdc-support-policy.json create mode 100644 config/extraction/promod-uniswap-v2-liquidity-policy.json create mode 100644 config/extraction/source-to-cex-production-policy.json create mode 100644 config/op-stack-superchain/cache/standard-config-params-mainnet.toml create mode 100644 config/op-stack-superchain/cache/standard-config-roles-mainnet.toml create mode 100644 config/op-stack-superchain/cache/standard-versions-mainnet.toml create mode 100644 config/pmm-soak-wallet-grid.json create mode 100644 config/solana-gru-bridge-lineup.json create mode 100644 config/xdc-zero/deployed/endpoint-apothem-or-mainnet.env create mode 100644 config/xdc-zero/deployed/endpoint-chain138.env create mode 100644 config/xdc-zero/deployed/endpointconfig.fragment.chain138.json create mode 100644 config/xdc-zero/deployed/xdcparentnet-register-chain138.fragment.json create mode 100644 docs/03-deployment/CHAIN138_TO_SOLANA_GRU_TOKEN_DEPLOYMENT_LINEUP.md create mode 100644 docs/03-deployment/CHAIN_138_TO_WEMIX_1111_BRIDGE_COMPLETION_CHECKLIST.md create mode 100644 docs/03-deployment/COMPREHENSIVE_CAPITAL_BASELINE.md create mode 100644 docs/03-deployment/CRYPTO_COM_OTC_BEFORE_AFTER_OPERATOR_MATRIX.md create mode 100644 docs/03-deployment/IMMEDIATE_AND_SAME_DAY_CORRIDOR_ASSETS_2026-04-17.md create mode 100644 docs/03-deployment/IMMEDIATE_LIVE_PRODUCTION_TASK_LIST_SOURCE_TO_CEX.md create mode 100644 docs/03-deployment/PROMOD_GRU_V2_FULL_MESH_GAP_REPORT.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_FIRST_DEPLOYMENT_TARGET_MATRIX.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_LIQUIDITY_PROGRAM.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_LIVE_PAIR_DISCOVERY.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_MATRIX.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_OPERATOR_PACKET.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_FROM_138_MATRIX.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_OR_MINT_RUNBOOK.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_EXECUTION_CHECKLIST.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_ACTIONS.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_BUNDLE.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_READINESS.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_OPERATOR_PASTE_PACK.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_SHELL_PASTE_PACK.sh create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_OPERATOR_PASTE_PACK.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_OPERATOR_SEQUENCE.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_SHELL_PASTE_PACK.sh create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE1_COMPLETION_STATUS.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_PASTE_PACK.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_SEQUENCE.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_SHELL_PASTE_PACK.sh create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PHASE_ORDER.md create mode 100644 docs/03-deployment/PROMOD_UNISWAP_V2_PROMOTION_GATES.md create mode 100644 docs/03-deployment/PROVIDER_FACING_PACKAGE_SOURCE_TO_CEX.md create mode 100644 docs/03-deployment/SOURCE_TO_CEX_EXECUTION_PLAN.md create mode 100644 docs/03-deployment/SOURCE_TO_CEX_PRODUCTION_READINESS.md create mode 100644 docs/03-deployment/TERMINAL_LIQUIDITY_DIVERSIFICATION_BUILD_PROGRAM.md create mode 100644 docs/03-deployment/WEMIX_BRIDGE_VERIFICATION_STATUS.md create mode 100644 docs/04-configuration/pr-ready/chain138-asset-package/README.md create mode 100644 docs/04-configuration/pr-ready/chain138-asset-package/listing-token-submissions.chain138.json create mode 100644 docs/04-configuration/pr-ready/chain138-asset-package/manifest.json create mode 100644 docs/04-configuration/pr-ready/chain138-asset-package/wallet-token-submissions.chain138.json create mode 100644 docs/04-configuration/pr-ready/eip155-138-package/README.md create mode 100644 docs/04-configuration/pr-ready/eip155-138-package/eip155-138.chainlist.json create mode 100644 docs/04-configuration/pr-ready/eip155-138-package/manifest.json create mode 100644 docs/04-configuration/pr-ready/eip155-138-package/trust-wallet-registry-chain138.json create mode 100644 reports/extraction/bridge-canary-plan-latest.json create mode 100644 reports/extraction/chain-138-to-wemix-1111-bridge-completion-checklist-latest.json create mode 100644 reports/extraction/comprehensive-capital-baseline-latest.json create mode 100644 reports/extraction/immediate-and-same-day-corridor-assets-latest.json create mode 100644 reports/extraction/promod-gru-v2-full-mesh-gap-report-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-first-deployment-target-matrix-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-liquidity-program-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-live-pair-discovery-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase-order-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase1-bridge-3x-matrix-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase1-bridge-3x-operator-packet-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase1-bridge-from-138-matrix-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase1-bridge-or-mint-runbook-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase1-execution-checklist-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase1-funding-actions-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase1-funding-bundle-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase1-funding-readiness-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase1-remaining-8-operator-paste-pack-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase1-remaining-8-shell-paste-pack-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase2-operator-paste-pack-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase2-operator-sequence-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase2-shell-paste-pack-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase2-wave1-completion-status-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase2-wave2-operator-paste-pack-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase2-wave2-operator-sequence-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-phase2-wave2-shell-paste-pack-latest.json create mode 100644 reports/extraction/promod-uniswap-v2-promotion-gates-latest.json create mode 100644 reports/extraction/source-to-cex-execution-plan-latest.json create mode 100644 reports/extraction/source-to-cex-offchain-sink-validation-latest.json create mode 100644 reports/extraction/source-to-cex-production-readiness-latest.json create mode 100644 reports/extraction/strict-operator-public-liquidity-table-latest.json create mode 100755 scripts/deployment/send-eth-ei-matrix-wallets.sh create mode 100644 scripts/lib/apply_elemental_imperium_wallet_labels.py create mode 100644 scripts/lib/chain_138_to_wemix_1111_bridge_completion_checklist.py create mode 100644 scripts/lib/comprehensive_capital_baseline.py create mode 100644 scripts/lib/dump_cw_usd_quotes.py create mode 100644 scripts/lib/elemental_imperium_wallet_common.py create mode 100644 scripts/lib/execute_promod_uniswap_v2_phase2_wave2_live_subset.py create mode 100644 scripts/lib/promod_gru_v2_full_mesh_gap_report.py create mode 100644 scripts/lib/promod_uniswap_v2_first_deployment_matrix.py create mode 100644 scripts/lib/promod_uniswap_v2_liquidity_program.py create mode 100644 scripts/lib/promod_uniswap_v2_live_pair_discovery.py create mode 100644 scripts/lib/promod_uniswap_v2_phase1_bridge_3x_matrix.py create mode 100644 scripts/lib/promod_uniswap_v2_phase1_bridge_3x_operator_packet.py create mode 100644 scripts/lib/promod_uniswap_v2_phase1_bridge_from_138_matrix.py create mode 100644 scripts/lib/promod_uniswap_v2_phase1_bridge_or_mint_runbook.py create mode 100644 scripts/lib/promod_uniswap_v2_phase1_execution_checklist.py create mode 100644 scripts/lib/promod_uniswap_v2_phase1_funding_actions.py create mode 100644 scripts/lib/promod_uniswap_v2_phase1_funding_bundle.py create mode 100644 scripts/lib/promod_uniswap_v2_phase1_funding_readiness.py create mode 100644 scripts/lib/promod_uniswap_v2_phase1_remaining_8_paste_pack.py create mode 100644 scripts/lib/promod_uniswap_v2_phase1_remaining_8_shell_paste_pack.py create mode 100644 scripts/lib/promod_uniswap_v2_phase2_operator_paste_pack.py create mode 100644 scripts/lib/promod_uniswap_v2_phase2_operator_sequence.py create mode 100644 scripts/lib/promod_uniswap_v2_phase2_shell_paste_pack.py create mode 100644 scripts/lib/promod_uniswap_v2_phase2_wave1_completion_status.py create mode 100644 scripts/lib/promod_uniswap_v2_phase2_wave2_operator_paste_pack.py create mode 100644 scripts/lib/promod_uniswap_v2_phase2_wave2_operator_sequence.py create mode 100644 scripts/lib/promod_uniswap_v2_phase2_wave2_shell_paste_pack.py create mode 100644 scripts/lib/promod_uniswap_v2_phase_order.py create mode 100644 scripts/lib/promod_uniswap_v2_promotion_gates.py create mode 100644 scripts/lib/source_to_cex_execution_plan.py create mode 100644 scripts/lib/source_to_cex_offchain_sink_tool.py create mode 100644 scripts/lib/source_to_cex_production_readiness.py create mode 100644 scripts/lib/validate_elemental_imperium_wallet_grid.py create mode 100755 scripts/maintenance/run-mainnet-cwusdc-usdc-support.sh create mode 100755 scripts/verify/apply-elemental-imperium-wallet-labels.sh create mode 100755 scripts/verify/build-chain-138-to-wemix-1111-bridge-completion-checklist.sh create mode 100644 scripts/verify/build-chain138-pr-ready-package.sh create mode 100644 scripts/verify/build-comprehensive-capital-baseline.sh create mode 100755 scripts/verify/build-cw-usd-quote-dump.sh create mode 100755 scripts/verify/build-promod-gru-v2-full-mesh-gap-report.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-first-deployment-target-matrix.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-liquidity-program.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-phase-order.sh create mode 100644 scripts/verify/build-promod-uniswap-v2-phase1-bridge-3x-matrix.sh create mode 100644 scripts/verify/build-promod-uniswap-v2-phase1-bridge-3x-operator-packet.sh create mode 100644 scripts/verify/build-promod-uniswap-v2-phase1-bridge-from-138-matrix.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-phase1-bridge-or-mint-runbook.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-phase1-execution-checklist.sh create mode 100644 scripts/verify/build-promod-uniswap-v2-phase1-funding-actions.sh create mode 100644 scripts/verify/build-promod-uniswap-v2-phase1-funding-bundle.sh create mode 100644 scripts/verify/build-promod-uniswap-v2-phase1-funding-readiness.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-phase1-remaining-8-operator-paste-pack.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-phase1-remaining-8-shell-paste-pack.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-phase2-operator-paste-pack.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-phase2-operator-sequence.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-phase2-shell-paste-pack.sh create mode 100644 scripts/verify/build-promod-uniswap-v2-phase2-wave1-completion-status.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-phase2-wave2-operator-paste-pack.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-phase2-wave2-operator-sequence.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-phase2-wave2-shell-paste-pack.sh create mode 100755 scripts/verify/build-promod-uniswap-v2-promotion-gates.sh create mode 100644 scripts/verify/build-source-to-cex-execution-plan.sh create mode 100644 scripts/verify/build-source-to-cex-production-readiness.sh create mode 100755 scripts/verify/check-mainnet-cwusdc-usdc-support-health.py create mode 100644 scripts/verify/execute-promod-uniswap-v2-phase2-wave2-live-subset.sh create mode 100644 scripts/verify/import-source-to-cex-offchain-sink-from-env.sh create mode 100755 scripts/verify/validate-elemental-imperium-wallet-grid.sh create mode 100644 scripts/verify/validate-source-to-cex-offchain-sinks.sh diff --git a/.env.master.example b/.env.master.example index 23246736..d0babefd 100644 --- a/.env.master.example +++ b/.env.master.example @@ -97,10 +97,41 @@ PRIVATE_KEY= RPC_URL_138= RPC_URL_138_PUBLIC= ETHEREUM_MAINNET_RPC= +CHAIN_1_UNISWAP_V2_FACTORY=0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f +CHAIN_1_UNISWAP_V2_ROUTER=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D +CHAIN_1_UNISWAP_V2_START_BLOCK=0 +CHAIN_10_UNISWAP_V2_FACTORY=0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf +CHAIN_10_UNISWAP_V2_ROUTER=0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2 +CHAIN_10_UNISWAP_V2_START_BLOCK=0 +CHAIN_25_UNISWAP_V2_FACTORY=0x3B44B2a187a7b3824131F8db5a74194D0a42Fc15 +CHAIN_25_UNISWAP_V2_ROUTER=0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae +CHAIN_25_UNISWAP_V2_START_BLOCK=0 +CHAIN_56_UNISWAP_V2_FACTORY=0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73 +CHAIN_56_UNISWAP_V2_ROUTER=0x10ED43C718714eb63d5aA57B78B54704E256024E +CHAIN_56_UNISWAP_V2_START_BLOCK=0 +CHAIN_100_UNISWAP_V2_FACTORY=0xc35DADB65012eC5796536bD9864eD8773aBc74C4 +CHAIN_100_UNISWAP_V2_ROUTER=0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506 +CHAIN_100_UNISWAP_V2_START_BLOCK=0 +CHAIN_137_UNISWAP_V2_FACTORY=0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32 +CHAIN_137_UNISWAP_V2_ROUTER=0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff +CHAIN_137_UNISWAP_V2_START_BLOCK=0 +CHAIN_42220_UNISWAP_V2_FACTORY=0x62d5b84bE28a183aBB507E125B384122D2C25fAE +CHAIN_42220_UNISWAP_V2_ROUTER=0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121 +CHAIN_42220_UNISWAP_V2_START_BLOCK=0 +CHAIN_43114_UNISWAP_V2_FACTORY=0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10 +CHAIN_43114_UNISWAP_V2_ROUTER=0x60aE616a2155Ee3d9A68541Ba4544862310933d4 +CHAIN_43114_UNISWAP_V2_START_BLOCK=0 +CHAIN_8453_UNISWAP_V2_FACTORY=0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E +CHAIN_8453_UNISWAP_V2_ROUTER=0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb +CHAIN_8453_UNISWAP_V2_START_BLOCK=0 +CHAIN_42161_UNISWAP_V2_FACTORY=0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E +CHAIN_42161_UNISWAP_V2_ROUTER=0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb +CHAIN_42161_UNISWAP_V2_START_BLOCK=0 CHAIN_651940_RPC_URL= ETHERLINK_RPC_URL= TEZOS_RPC_URL= ETHERSCAN_API_KEY= +WEMIXSCAN_API_KEY= ETHERLINK_CCIP_SELECTOR= TEZOS_BRIDGE_ENABLED= ETHERLINK_BRIDGE_ENABLED= diff --git a/MEV_Bot b/MEV_Bot index 682bd763..f126ae50 160000 --- a/MEV_Bot +++ b/MEV_Bot @@ -1 +1 @@ -Subproject commit 682bd7634941c1a83d3d83ca70860a2ca3652520 +Subproject commit f126ae50b490de6d6ce06d6d20ab75ab22ef0681 diff --git a/ProxmoxVE b/ProxmoxVE index 53d837b4..35b5957a 160000 --- a/ProxmoxVE +++ b/ProxmoxVE @@ -1 +1 @@ -Subproject commit 53d837b48fb99ba46a38598c6ff8b4feee40b842 +Subproject commit 35b5957ad1582da26b83166d0a28b7c23a9ba3fd diff --git a/ai-mcp-pmm-controller b/ai-mcp-pmm-controller index 3e3f55fe..cb92278a 160000 --- a/ai-mcp-pmm-controller +++ b/ai-mcp-pmm-controller @@ -1 +1 @@ -Subproject commit 3e3f55fe79e3740b318ce7e6fe21e938c93fa723 +Subproject commit cb92278affeb2958924355ec018fefc757d29058 diff --git a/alltra-lifi-settlement b/alltra-lifi-settlement index 1dabf29f..5e3b9db9 160000 --- a/alltra-lifi-settlement +++ b/alltra-lifi-settlement @@ -1 +1 @@ -Subproject commit 1dabf29f6d463ce67500c1bc39fc233500239c98 +Subproject commit 5e3b9db91a52fa12d03cb76f1b0821cc77a6b4c0 diff --git a/config/dbis-institutional/registry/chain138-cusdc-v2.json b/config/dbis-institutional/registry/chain138-cusdc-v2.json new file mode 100644 index 00000000..f1d12abe --- /dev/null +++ b/config/dbis-institutional/registry/chain138-cusdc-v2.json @@ -0,0 +1,21 @@ +{ + "registryEntryId": "a5c115dd-e147-4eb5-8cf1-f7d9c38f959e", + "entity_id": "98450070C57395F6B906", + "jurisdiction": "International", + "chain_id": 138, + "address": "0x1ac3F4942a71E86A9682D91837E1E71b7BACdF99", + "addressRole": "token_contract", + "aliases": [ + { + "aliasType": "internal_slug", + "aliasValue": "chain138-cusdc-v2", + "validFrom": "2026-03-31T08:22:11Z" + } + ], + "blockscout": { + "label": "Chain 138 cUSDC V2 (staged)", + "labelType": "token" + }, + "status": "active", + "lastCorrelationId": "deploy-cusdc-v2-2026-03-31" +} diff --git a/config/dbis-institutional/registry/chain138-cusdt-v2.json b/config/dbis-institutional/registry/chain138-cusdt-v2.json new file mode 100644 index 00000000..e314ab24 --- /dev/null +++ b/config/dbis-institutional/registry/chain138-cusdt-v2.json @@ -0,0 +1,21 @@ +{ + "registryEntryId": "3cc7d52c-26fb-4afb-9508-0c102f8f6f81", + "entity_id": "98450070C57395F6B906", + "jurisdiction": "International", + "chain_id": 138, + "address": "0x8d342d321DdEe97D0c5011DAF8ca0B59DA617D29", + "addressRole": "token_contract", + "aliases": [ + { + "aliasType": "internal_slug", + "aliasValue": "chain138-cusdt-v2", + "validFrom": "2026-03-31T08:22:11Z" + } + ], + "blockscout": { + "label": "Chain 138 cUSDT V2 (staged)", + "labelType": "token" + }, + "status": "active", + "lastCorrelationId": "deploy-cusdt-v2-2026-03-31" +} diff --git a/config/elemental-imperium-network-registry.json b/config/elemental-imperium-network-registry.json new file mode 100644 index 00000000..05a982d6 --- /dev/null +++ b/config/elemental-imperium-network-registry.json @@ -0,0 +1,37 @@ +{ + "registryVersion": 1, + "purpose": "Authoritative network codes for Elemental Imperium (33×33×6) wallet labels. ASNs are optional; add when assigned.", + "labelSpec": { + "id": "ei-wallet-label-v1", + "cellIdFormat": "EI-L{lpbca:02d}-B{branch:02d}-C{class}", + "labelFormatDefault": "{networkCode}.{cellId}", + "labelFormatWithAsn": "{networkCode}.{cellId}.AS{asn}", + "notes": [ + "cellId is stable and never depends on ASN or network reassignment uses.", + "networkCode is lowercase kebab-case; use this registry as the allow-list.", + "When asn is assigned, append .AS{n} with integer n (no leading AS in the number token beyond the literal AS prefix)." + ] + }, + "defaultNetworkCode": "unassigned", + "overlayExamplePath": "config/elemental-imperium-wallet-overlay.example.json", + "networks": [ + { + "code": "unassigned", + "displayName": "Not yet mapped to an operational network", + "asn": null, + "status": "placeholder" + }, + { + "code": "chain138-core", + "displayName": "Chain 138 execution / RPC plane (internal)", + "asn": null, + "status": "planned" + }, + { + "code": "operator-lan", + "displayName": "Operator management LAN (e.g. 192.168.11.0/24)", + "asn": null, + "status": "planned" + } + ] +} diff --git a/config/elemental-imperium-wallet-overlay.example.json b/config/elemental-imperium-wallet-overlay.example.json new file mode 100644 index 00000000..2bd6443e --- /dev/null +++ b/config/elemental-imperium-wallet-overlay.example.json @@ -0,0 +1,23 @@ +{ + "overlayVersion": 1, + "description": "Optional mapping layered on registry defaults. rangeRules: first matching rule sets networkCode and asn for that wallet. cellOverrides: per cellId, partial overrides win over rangeRules.", + "rangeRules": [ + { + "comment": "Example: LPBCA slice 0–10 on chain138-core; remove or edit when ASNs are assigned", + "match": { + "lpbca": [0, 10], + "branch": [0, 32], + "class": [0, 5] + }, + "networkCode": "chain138-core", + "asn": null + } + ], + "cellOverrides": { + "EI-L00-B00-C0": { + "comment": "Example single-cell override", + "networkCode": "unassigned", + "asn": null + } + } +} diff --git a/config/extraction/additional-wallet-inventory.json b/config/extraction/additional-wallet-inventory.json new file mode 100644 index 00000000..ea18d552 --- /dev/null +++ b/config/extraction/additional-wallet-inventory.json @@ -0,0 +1,62 @@ +{ + "template_version": "1.1.0", + "purpose": "Additional on-chain and off-chain inventory for the source-to-CEX execution model.", + "questions_to_fill": [ + "All additional EVM EOAs or smart-wallet addresses", + "Any multisigs, vaults, or treasury contracts you want included", + "Any custodial or exchange balances to include off-chain", + "Any LP or staking positions not visible from wallet token balances alone", + "The real production CEX or OTC sink to use for handoff" + ], + "wallets": [ + { + "label": "primary-deployer-documented", + "address": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "chains": [ + "1", + "138" + ], + "role": "treasury", + "include_in_baseline": true, + "notes": "Canonical documented deployer wallet. Deduplicate against primary baseline if loaded twice." + } + ], + "offchain_accounts": [ + { + "label": "example-exchange", + "platform": "unknown", + "account_type": "unknown", + "operational_status": "planned", + "enabled_for_production_handoff": false, + "accepted_deposit_assets": [ + "USDC" + ], + "preferred_deposit_asset": "USDC", + "deposit_chain_id": "1", + "deposit_chain_name": "Ethereum Mainnet", + "deposit_address": "", + "min_packet_usd": 1000, + "max_packet_usd": 250000, + "slippage_ceiling_bps": 100, + "asset_balances": [ + { + "symbol": "USDC", + "amount": 0, + "estimated_usd": 0, + "chain_id": "offchain", + "chain_name": "Off-chain / custodial", + "notes": "Replace with a real balance only when you want it counted." + } + ], + "include_in_baseline": false, + "notes": "Replace with a real sink before enabling production handoff." + } + ], + "risk_preferences": { + "max_drawdown_pct": null, + "liquidity_need_horizon": null, + "bridging_allowed": null, + "lp_allowed": null, + "leverage_allowed": null + } +} diff --git a/config/extraction/additional-wallet-inventory.template.json b/config/extraction/additional-wallet-inventory.template.json new file mode 100644 index 00000000..ea18d552 --- /dev/null +++ b/config/extraction/additional-wallet-inventory.template.json @@ -0,0 +1,62 @@ +{ + "template_version": "1.1.0", + "purpose": "Additional on-chain and off-chain inventory for the source-to-CEX execution model.", + "questions_to_fill": [ + "All additional EVM EOAs or smart-wallet addresses", + "Any multisigs, vaults, or treasury contracts you want included", + "Any custodial or exchange balances to include off-chain", + "Any LP or staking positions not visible from wallet token balances alone", + "The real production CEX or OTC sink to use for handoff" + ], + "wallets": [ + { + "label": "primary-deployer-documented", + "address": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "chains": [ + "1", + "138" + ], + "role": "treasury", + "include_in_baseline": true, + "notes": "Canonical documented deployer wallet. Deduplicate against primary baseline if loaded twice." + } + ], + "offchain_accounts": [ + { + "label": "example-exchange", + "platform": "unknown", + "account_type": "unknown", + "operational_status": "planned", + "enabled_for_production_handoff": false, + "accepted_deposit_assets": [ + "USDC" + ], + "preferred_deposit_asset": "USDC", + "deposit_chain_id": "1", + "deposit_chain_name": "Ethereum Mainnet", + "deposit_address": "", + "min_packet_usd": 1000, + "max_packet_usd": 250000, + "slippage_ceiling_bps": 100, + "asset_balances": [ + { + "symbol": "USDC", + "amount": 0, + "estimated_usd": 0, + "chain_id": "offchain", + "chain_name": "Off-chain / custodial", + "notes": "Replace with a real balance only when you want it counted." + } + ], + "include_in_baseline": false, + "notes": "Replace with a real sink before enabling production handoff." + } + ], + "risk_preferences": { + "max_drawdown_pct": null, + "liquidity_need_horizon": null, + "bridging_allowed": null, + "lp_allowed": null, + "leverage_allowed": null + } +} diff --git a/config/extraction/mainnet-cwusdc-usdc-support-policy.json b/config/extraction/mainnet-cwusdc-usdc-support-policy.json new file mode 100644 index 00000000..e87ef9b0 --- /dev/null +++ b/config/extraction/mainnet-cwusdc-usdc-support-policy.json @@ -0,0 +1,53 @@ +{ + "version": "1.0.0", + "updated": "2026-04-18", + "rail": "mainnet_cwusdc_usdc", + "network": { + "chainId": 1, + "name": "Ethereum Mainnet", + "rpcEnvKeys": [ + "ETHEREUM_MAINNET_RPC" + ] + }, + "publicPair": { + "base": "cWUSDC", + "quote": "USDC", + "role": "discovery_lane", + "venue": "uniswap_v2_pair", + "poolAddress": "0xC28706F899266b36BC43cc072b3a921BDf2C48D9" + }, + "defendedVenue": { + "base": "cWUSDC", + "quote": "USDC", + "role": "primary_defense", + "venue": "dodo_pmm", + "poolAddress": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "managedCycleScript": "smom-dbis-138/script/flash/RunManagedMainnetAaveCwusdcUsdcQuotePushCycle.s.sol:RunManagedMainnetAaveCwusdcUsdcQuotePushCycle" + }, + "thresholds": { + "warnDeviationBps": 25, + "interveneDeviationBps": 75, + "criticalDeviationBps": 150, + "minBaseReserveUnits": 2500, + "minQuoteReserveUnits": 2500 + }, + "managedCycle": { + "defaultHarvestSurplus": true, + "defaultGasHoldbackTargetRaw": 0, + "quoteAmountByDeviationBps": [ + { + "minDeviationBps": 150, + "flashQuoteAmountRaw": 250000000 + }, + { + "minDeviationBps": 75, + "flashQuoteAmountRaw": 100000000 + } + ] + }, + "notes": [ + "The public Uniswap V2 pair is for visible routing and discovery, not for hard parity guarantees on its own.", + "When the public pair drifts beyond the intervention corridor, use the managed DODO quote-push stack as the first automated defense path.", + "Do not trust POOL_CWUSDC_USDC_MAINNET from dotenv blindly; this policy is the canonical defended venue binding." + ] +} diff --git a/config/extraction/promod-uniswap-v2-liquidity-policy.json b/config/extraction/promod-uniswap-v2-liquidity-policy.json new file mode 100644 index 00000000..b016be3c --- /dev/null +++ b/config/extraction/promod-uniswap-v2-liquidity-policy.json @@ -0,0 +1,83 @@ +{ + "program_name": "Mr. Promod Uniswap V2 cW Deep Liquidity Program", + "purpose": "Define the desired-state Uniswap V2 or Uniswap-V2-compatible liquidity rollout for cW* and cWAUSDT rails on bridged public networks.", + "operator_rule": "When canonical USDC or USDT depth is scarce, concentrate depth first in wrapped support rails and then expand into canonical settlement rails.", + "mainnet_funding_posture": { + "mode": "triple-rail-support", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT", + "cWAUSDT" + ], + "notes": [ + "cWUSDC and cWUSDT remain the core settlement-adjacent rails.", + "cWAUSDT is the wrapped-depth support asset when canonical USDC or USDT inventory is not yet deep enough." + ] + }, + "priority_tiers": { + "tier_1": [ + "1", + "8453", + "42161", + "10", + "137" + ], + "tier_2": [ + "56", + "43114", + "100", + "42220", + "25" + ], + "tier_3": [ + "1111" + ] + }, + "wrapped_depth_phase": { + "preferred_pairs_in_order": [ + "cWAUSDT/cWUSDC", + "cWAUSDT/cWUSDT", + "cWUSDT/cWUSDC" + ], + "allocation_share_pct": { + "flagship_pair": 50, + "second_pair": 30, + "third_pair": 20 + }, + "notes": [ + "This phase is for creating visibly deep wrapped-to-wrapped liquidity before canonical settlement rails are deep enough.", + "Wrapped-depth pools strengthen routing and inventory transfer between the cW settlement rails and cWAUSDT support inventory.", + "These pools do not replace the eventual need for direct canonical settlement rails." + ] + }, + "settlement_phase": { + "preferred_pairs_by_hub": { + "USDC": [ + "cWUSDC/USDC", + "cWUSDT/USDC", + "cWAUSDT/USDC" + ], + "USDT": [ + "cWUSDT/USDT", + "cWUSDC/USDT", + "cWAUSDT/USDT" + ] + }, + "notes": [ + "Settlement-phase pools remain the preferred terminal rails for exchange and OTC normalization.", + "Promote settlement rails only after wrapped-depth support is stable and enough canonical stable inventory is available." + ] + }, + "uniswap_v2_requirements": { + "required_env_suffixes": [ + "UNISWAP_V2_FACTORY", + "UNISWAP_V2_ROUTER", + "UNISWAP_V2_START_BLOCK" + ], + "required_registry_updates": [ + "cross-chain-pmm-lps/config/deployment-status.json", + "token-aggregation env for the target chain", + "MCP allowlist or indexer visibility for new pairs" + ] + } +} diff --git a/config/extraction/source-to-cex-production-policy.json b/config/extraction/source-to-cex-production-policy.json new file mode 100644 index 00000000..cda2a59e --- /dev/null +++ b/config/extraction/source-to-cex-production-policy.json @@ -0,0 +1,35 @@ +{ + "version": "1.0.0", + "last_updated": "2026-04-17", + "purpose": "Operator policy for Chain 138 -> Mainnet normalization -> CEX handoff.", + "production_enabled": false, + "default_route_model": "Chain 138 inventory -> canonical bridge -> Mainnet normalization -> CEX handoff", + "operator_defaults": { + "primary_same_day_feeder": "cUSDC", + "secondary_same_day_feeder": "cUSDT", + "stable_lp_mode": "unwind_first", + "immediate_assets": [ + "cWUSDC", + "cWUSDT" + ], + "reject_non_promoted_assets": true + }, + "normalization_policy": { + "preferred_settlement_assets": [ + "USDC", + "USDT" + ], + "default_settlement_asset": "USDC", + "allow_usdt_only_with_operator_approval": true, + "post_bridge_aggregation_only": true + }, + "packetization_policy": { + "bridge_packet_usd_max": 250000, + "normalization_packet_usd_max": 100000, + "direct_cwusdc_usdc_usage_cap_usd": 213.102461, + "direct_cwusdt_usdt_usage_cap_usd": 2.182358, + "force_cwusdt_via_cwusdc_threshold_usd": 10, + "default_slippage_ceiling_bps": 100, + "chunking_mode": "bridge_in_chunks_then_normalize_then_continuous_cex_handoff" + } +} diff --git a/config/op-stack-superchain/cache/standard-config-params-mainnet.toml b/config/op-stack-superchain/cache/standard-config-params-mainnet.toml new file mode 100644 index 00000000..6bd3774f --- /dev/null +++ b/config/op-stack-superchain/cache/standard-config-params-mainnet.toml @@ -0,0 +1,41 @@ +# Standard Chain Config Parameters +[rollup_config] +# alt_da must be nil +seq_window_size = [3600, 3600] +block_time = [1, 2] + +[optimism_portal_2] +proof_maturity_delay_seconds = [604800, 604800] # 7 days +dispute_game_finality_delay_seconds = [302400, 302400] # 3.5 days +respected_game_type = 0 + +[resource_config] +max_resource_limit = 20000000 +elasticity_multiplier = 10 +base_fee_max_change_denominator = 8 +minimum_base_fee = 1000000000 +system_tx_max_gas = 1000000 +maximum_base_fee = "340_282_366_920_938_463_463_374_607_431_768_211_455" + +[gas_price_oracle.pre-ecotone] +decimals = [6, 6] +overhead = [188, 188] +scalar = [684_000, 684_000] + +[gas_price_oracle.ecotone] +decimals = [6, 6] +blob_base_fee_scalar = [0, 10_000_000] +base_fee_scalar = [0, 10_000_000] + +[system_config] +gas_limit = [8_000_000, 200_000_000] +operator_fee_scalar = [0, 0] +operator_fee_constant = [0, 0] +minimum_base_fee = [0, 10_000_000_000] # 10 Gwei + +[proofs.permissioned] +game_type = 1 +max_game_depth = 73 +split_depth = 30 +max_clock_duration = 302400 +clock_extension = 10800 diff --git a/config/op-stack-superchain/cache/standard-config-roles-mainnet.toml b/config/op-stack-superchain/cache/standard-config-roles-mainnet.toml new file mode 100644 index 00000000..fddb5eb3 --- /dev/null +++ b/config/op-stack-superchain/cache/standard-config-roles-mainnet.toml @@ -0,0 +1,8 @@ +guardian = "0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2" +challenger = "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A" +l1ProxyAdminOwner = "0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A" +protocolVersionsOwner = "0x847B5c174615B1B7fDF770882256e2D3E95b9D92" + +# This is the ALIASED address of the L1 2/2 Safe between the Optimism Foundation and the Security Council. +# To compute the aliased address, add 0x1111000000000000000000000000000000001111 +l2ProxyAdminOwner = "0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b" diff --git a/config/op-stack-superchain/cache/standard-versions-mainnet.toml b/config/op-stack-superchain/cache/standard-versions-mainnet.toml new file mode 100644 index 00000000..0727a54b --- /dev/null +++ b/config/op-stack-superchain/cache/standard-versions-mainnet.toml @@ -0,0 +1,446 @@ +# Contracts which are +# * unproxied singletons: specify a standard "address" +# * proxied : specify a standard "implementation_address" +# * neither : specify neither a standard "address" nor "implementation_address" + +["op-contracts/v6.0.0"] +system_config = { version = "3.13.1", implementation_address = "0xd392c27b84b1ca776528f2704bc67b82a62132d2" } +fault_dispute_game = { version = "2.2.0" } +permissioned_dispute_game = { version = "2.2.0" } +mips = { version = "1.9.0", address = "0x6463dEE3828677F6270d83d45408044fc5eDB908" } +optimism_portal = { version = "5.2.0", implementation_address = "0x97cebbf8959e2a5476fbe9b98a21806ec234609b" } +optimism_portal_interop = { version = "5.1.0+interop", implementation_address = "0x5cb365a10e99335d8fedfa225aac5e21287302dd" } +anchor_state_registry = { version = "3.7.0", implementation_address = "0x36398155cd17cfe804f69b233edda800dd4d5aa5" } +delayed_weth = { version = "1.5.0", implementation_address = "0x33dadc2d1aa9bb613a7ae6b28425ea00d44c6998" } +eth_lockbox = { version = "1.2.0", implementation_address = "0x784d2f03593a42a6e4676a012762f18775ecbbe6" } +dispute_game_factory = { version = "1.4.0", implementation_address = "0xc040f392e52cb6970ca8e110c280fe24e07c5e2c" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.11.0", implementation_address = "0xb686f13aff1e427a1f993f29ab0f2e7383729fe0" } +l1_erc721_bridge = { version = "2.9.0", implementation_address = "0x74f1ac50eb0be98853805d381c884f5f9abdecf9" } +l1_standard_bridge = { version = "2.8.0", implementation_address = "0x61525eaacddb97d9184afc205827e6a4fd0bf62a" } +optimism_mintable_erc20_factory = { version = "1.10.2", implementation_address = "0x8ee6fb13c6c9a7e401531168e196fbf8b05ceabb" } +op_contracts_manager = { version = "6.0.0", address = "0x50f47b43c24f40b92c873fa0704d4207586d0c9f" } +superchain_config = { version = "2.4.0", implementation_address = "0xb08cc720f511062537ca78bdb0ae691f04f5a957" } +protocol_versions = { version = "1.1.1", implementation_address = "0x1f734b89bb1b422b9910118fb8d44c06e33d4dda" } + +# The L1 contracts are unchanged from Upgrade 18 / v6.0.0-rc.1, this entry is required for a release of op-deployer +# with updates to L2 contracts only. +["op-contracts/v6.0.0-rc.2"] +system_config = { version = "3.13.1", implementation_address = "0xd392c27b84b1ca776528f2704bc67b82a62132d2" } +fault_dispute_game = { version = "2.2.0" } +permissioned_dispute_game = { version = "2.2.0" } +mips = { version = "1.9.0", address = "0x6463dEE3828677F6270d83d45408044fc5eDB908" } +optimism_portal = { version = "5.2.0", implementation_address = "0x97cebbf8959e2a5476fbe9b98a21806ec234609b" } +optimism_portal_interop = { version = "5.1.0+interop", implementation_address = "0x5cb365a10e99335d8fedfa225aac5e21287302dd" } +anchor_state_registry = { version = "3.7.0", implementation_address = "0x36398155cd17cfe804f69b233edda800dd4d5aa5" } +delayed_weth = { version = "1.5.0", implementation_address = "0x33dadc2d1aa9bb613a7ae6b28425ea00d44c6998" } +eth_lockbox = { version = "1.2.0", implementation_address = "0x784d2f03593a42a6e4676a012762f18775ecbbe6" } +dispute_game_factory = { version = "1.4.0", implementation_address = "0xc040f392e52cb6970ca8e110c280fe24e07c5e2c" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.11.0", implementation_address = "0xb686f13aff1e427a1f993f29ab0f2e7383729fe0" } +l1_erc721_bridge = { version = "2.9.0", implementation_address = "0x74f1ac50eb0be98853805d381c884f5f9abdecf9" } +l1_standard_bridge = { version = "2.8.0", implementation_address = "0x61525eaacddb97d9184afc205827e6a4fd0bf62a" } +optimism_mintable_erc20_factory = { version = "1.10.2", implementation_address = "0x8ee6fb13c6c9a7e401531168e196fbf8b05ceabb" } +op_contracts_manager = { version = "6.0.0", address = "0x50f47b43c24f40b92c873fa0704d4207586d0c9f" } +superchain_config = { version = "2.4.0", implementation_address = "0xb08cc720f511062537ca78bdb0ae691f04f5a957" } +protocol_versions = { version = "1.1.1", implementation_address = "0x1f734b89bb1b422b9910118fb8d44c06e33d4dda" } + +# Upgrade 18 https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv6.0.0-rc.1 +["op-contracts/v6.0.0-rc.1"] +system_config = { version = "3.13.1", implementation_address = "0xd392c27b84b1ca776528f2704bc67b82a62132d2" } +fault_dispute_game = { version = "2.2.0" } +permissioned_dispute_game = { version = "2.2.0" } +mips = { version = "1.9.0", address = "0x6463dEE3828677F6270d83d45408044fc5eDB908" } +optimism_portal = { version = "5.2.0", implementation_address = "0x97cebbf8959e2a5476fbe9b98a21806ec234609b" } +optimism_portal_interop = { version = "5.1.0+interop", implementation_address = "0x5cb365a10e99335d8fedfa225aac5e21287302dd" } +anchor_state_registry = { version = "3.7.0", implementation_address = "0x36398155cd17cfe804f69b233edda800dd4d5aa5" } +delayed_weth = { version = "1.5.0", implementation_address = "0x33dadc2d1aa9bb613a7ae6b28425ea00d44c6998" } +eth_lockbox = { version = "1.2.0", implementation_address = "0x784d2f03593a42a6e4676a012762f18775ecbbe6" } +dispute_game_factory = { version = "1.4.0", implementation_address = "0xc040f392e52cb6970ca8e110c280fe24e07c5e2c" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.11.0", implementation_address = "0xb686f13aff1e427a1f993f29ab0f2e7383729fe0" } +l1_erc721_bridge = { version = "2.9.0", implementation_address = "0x74f1ac50eb0be98853805d381c884f5f9abdecf9" } +l1_standard_bridge = { version = "2.8.0", implementation_address = "0x61525eaacddb97d9184afc205827e6a4fd0bf62a" } +optimism_mintable_erc20_factory = { version = "1.10.2", implementation_address = "0x8ee6fb13c6c9a7e401531168e196fbf8b05ceabb" } +op_contracts_manager = { version = "6.0.0", address = "0x50f47b43c24f40b92c873fa0704d4207586d0c9f" } +superchain_config = { version = "2.4.0", implementation_address = "0xb08cc720f511062537ca78bdb0ae691f04f5a957" } +protocol_versions = { version = "1.1.1", implementation_address = "0x1f734b89bb1b422b9910118fb8d44c06e33d4dda" } + +# Upgrade 17 https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv5.0.0 +["op-contracts/v5.0.0"] +system_config = { version = "3.11.0", implementation_address = "0x2fa28989fc559836e9d66dff3010c7f7f41c65ed" } +fault_dispute_game = { version = "1.8.0" } +permissioned_dispute_game = { version = "1.8.0" } +mips = { version = "1.9.0", address = "0x6463dEE3828677F6270d83d45408044fc5eDB908" } +optimism_portal = { version = "5.1.1", implementation_address = "0x7cf803296662e8c72a6c1d6450572209acf7f202" } +optimism_portal_interop = { version = "5.1.0+interop", implementation_address = "0x5cb365a10e99335d8fedfa225aac5e21287302dd" } +anchor_state_registry = { version = "3.5.0", implementation_address = "0xeb69cc681e8d4a557b30dffbad85affd47a2cf2e" } +delayed_weth = { version = "1.5.0", implementation_address = "0x33dadc2d1aa9bb613a7ae6b28425ea00d44c6998" } +eth_lockbox = { version = "1.2.0", implementation_address = "0x784d2f03593a42a6e4676a012762f18775ecbbe6" } +dispute_game_factory = { version = "1.3.0", implementation_address = "0x74fac1d45b98bae058f8f566201c9a81b85c7d50" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.11.0", implementation_address = "0xb686f13aff1e427a1f993f29ab0f2e7383729fe0" } +l1_erc721_bridge = { version = "2.9.0", implementation_address = "0x74f1ac50eb0be98853805d381c884f5f9abdecf9" } +l1_standard_bridge = { version = "2.8.0", implementation_address = "0x61525eaacddb97d9184afc205827e6a4fd0bf62a" } +optimism_mintable_erc20_factory = { version = "1.10.2", implementation_address = "0x8ee6fb13c6c9a7e401531168e196fbf8b05ceabb" } +op_contracts_manager = { version = "4.2.0", address = "0xfa1ef97fb02b0da2ee2346b8e310907ab5519449" } +superchain_config = { version = "2.4.0", implementation_address = "0xb08cc720f511062537ca78bdb0ae691f04f5a957" } +protocol_versions = { version = "1.1.1", implementation_address = "0x1f734b89bb1b422b9910118fb8d44c06e33d4dda" } + +# Upgrade 17 https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv5.0.0-rc.2 +["op-contracts/v5.0.0-rc.2"] +system_config = { version = "3.11.0", implementation_address = "0x2fa28989fc559836e9d66dff3010c7f7f41c65ed" } +fault_dispute_game = { version = "1.8.0" } +permissioned_dispute_game = { version = "1.8.0" } +mips = { version = "1.9.0", address = "0x6463dEE3828677F6270d83d45408044fc5eDB908" } +optimism_portal = { version = "5.1.1", implementation_address = "0x7cf803296662e8c72a6c1d6450572209acf7f202" } +optimism_portal_interop = { version = "5.1.0+interop", implementation_address = "0x5cb365a10e99335d8fedfa225aac5e21287302dd" } +anchor_state_registry = { version = "3.5.0", implementation_address = "0xeb69cc681e8d4a557b30dffbad85affd47a2cf2e" } +delayed_weth = { version = "1.5.0", implementation_address = "0x33dadc2d1aa9bb613a7ae6b28425ea00d44c6998" } +eth_lockbox = { version = "1.2.0", implementation_address = "0x784d2f03593a42a6e4676a012762f18775ecbbe6" } +dispute_game_factory = { version = "1.3.0", implementation_address = "0x74fac1d45b98bae058f8f566201c9a81b85c7d50" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.11.0", implementation_address = "0xb686f13aff1e427a1f993f29ab0f2e7383729fe0" } +l1_erc721_bridge = { version = "2.9.0", implementation_address = "0x74f1ac50eb0be98853805d381c884f5f9abdecf9" } +l1_standard_bridge = { version = "2.8.0", implementation_address = "0x61525eaacddb97d9184afc205827e6a4fd0bf62a" } +optimism_mintable_erc20_factory = { version = "1.10.2", implementation_address = "0x8ee6fb13c6c9a7e401531168e196fbf8b05ceabb" } +op_contracts_manager = { version = "4.2.0", address = "0xfa1ef97fb02b0da2ee2346b8e310907ab5519449" } +superchain_config = { version = "2.4.0", implementation_address = "0xb08cc720f511062537ca78bdb0ae691f04f5a957" } +protocol_versions = { version = "1.1.1", implementation_address = "0x1f734b89bb1b422b9910118fb8d44c06e33d4dda" } + +# Upgrade 16a https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv4.1.0 +["op-contracts/v4.1.0"] +system_config = { version = "3.7.0", implementation_address = "0x2bfe4a5bd5a41e9d848d843ebcdfa15954e9a557" } +fault_dispute_game = { version = "1.7.0" } +permissioned_dispute_game = { version = "1.7.0" } +mips = { version = "1.8.0", address = "0x07babe08ee4d07dba236530183b24055535a7011" } +optimism_portal = { version = "5.0.0", implementation_address = "0x381e729ff983fa4bced820e7b922d79bf653b999" } +optimism_portal_interop = { version = "5.0.0+interop", implementation_address = "0xb0eb854fd842e0e564d49d2fe6b2ac25d035523c" } +anchor_state_registry = { version = "3.5.0", implementation_address = "0xeb69cc681e8d4a557b30dffbad85affd47a2cf2e" } +delayed_weth = { version = "1.5.0", implementation_address = "0x33dadc2d1aa9bb613a7ae6b28425ea00d44c6998" } +eth_lockbox = { version = "1.2.0", implementation_address = "0x784d2f03593a42a6e4676a012762f18775ecbbe6" } +dispute_game_factory = { version = "1.2.0", implementation_address = "0x33d1e8571a85a538ed3d5a4d88f46c112383439d" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.10.0", implementation_address = "0x22d12e0faebd62d429514a65ebae32dd316c12d6" } +l1_erc721_bridge = { version = "2.8.0", implementation_address = "0x7f1d12fb2911eb095278085f721e644c1f675696" } +l1_standard_bridge = { version = "2.7.0", implementation_address = "0xe32b192fb1dca88fcb1c56b3acb429e32238adcb" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677a186f64805fe7317d6993ba4863988f" } +op_contracts_manager = { version = "3.2.0", address = "0x8123739c1368c2dedc8c564255bc417feeebff9d" } +superchain_config = { version = "2.3.0", implementation_address = "0xce28685eb204186b557133766eca00334eb441e4" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37e15e4d6dffa9e5e320ee1ec036922e563cb76c" } + +# Upgrade 16a https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv4.1.0-rc.3 +["op-contracts/v4.1.0-rc.3"] +system_config = { version = "3.7.0", implementation_address = "0x2bfe4a5bd5a41e9d848d843ebcdfa15954e9a557" } +fault_dispute_game = { version = "1.7.0" } +permissioned_dispute_game = { version = "1.7.0" } +mips = { version = "1.8.0", address = "0x07babe08ee4d07dba236530183b24055535a7011" } +optimism_portal = { version = "5.0.0", implementation_address = "0x381e729ff983fa4bced820e7b922d79bf653b999" } +optimism_portal_interop = { version = "5.0.0+interop", implementation_address = "0xb0eb854fd842e0e564d49d2fe6b2ac25d035523c" } +anchor_state_registry = { version = "3.5.0", implementation_address = "0xeb69cc681e8d4a557b30dffbad85affd47a2cf2e" } +delayed_weth = { version = "1.5.0", implementation_address = "0x33dadc2d1aa9bb613a7ae6b28425ea00d44c6998" } +eth_lockbox = { version = "1.2.0", implementation_address = "0x784d2f03593a42a6e4676a012762f18775ecbbe6" } +dispute_game_factory = { version = "1.2.0", implementation_address = "0x33d1e8571a85a538ed3d5a4d88f46c112383439d" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.10.0", implementation_address = "0x22d12e0faebd62d429514a65ebae32dd316c12d6" } +l1_erc721_bridge = { version = "2.8.0", implementation_address = "0x7f1d12fb2911eb095278085f721e644c1f675696" } +l1_standard_bridge = { version = "2.7.0", implementation_address = "0xe32b192fb1dca88fcb1c56b3acb429e32238adcb" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677a186f64805fe7317d6993ba4863988f" } +op_contracts_manager = { version = "3.2.0", address = "0x8123739c1368c2dedc8c564255bc417feeebff9d" } +superchain_config = { version = "2.3.0", implementation_address = "0xce28685eb204186b557133766eca00334eb441e4" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37e15e4d6dffa9e5e320ee1ec036922e563cb76c" } + +# Upgrade 16 https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv4.0.0 +["op-contracts/v4.0.0"] +system_config = { version = "3.4.0", implementation_address = "0xfaa660bf783cbaa55e1b7f3475c20db74a53b9fa" } +fault_dispute_game = { version = "1.4.1" } +permissioned_dispute_game = { version = "1.7.0" } +mips = { version = "1.4.0-patch.2", address = "0xa1b54d89e305bcd322ba0c9c094093173c0d6b3a" } +optimism_portal = { version = "4.6.0", implementation_address = "0xefed7f38bb9be74bba583a1a5b7d0fe7c9d5787a" } +anchor_state_registry = { version = "3.5.0", implementation_address = "0xeb69cc681e8d4a557b30dffbad85affd47a2cf2e" } +delayed_weth = { version = "1.5.0", implementation_address = "0x33dadc2d1aa9bb613a7ae6b28425ea00d44c6998" } +eth_lockbox = { version = "1.2.0", implementation_address = "0x784d2f03593a42a6e4676a012762f18775ecbbe6" } +dispute_game_factory = { version = "1.2.0", implementation_address = "0x33d1e8571a85a538ed3d5a4d88f46c112383439d" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.9.0", implementation_address = "0xd26bb3aaaa4cb5638a8581a4c4b1d937d8e05c54" } +l1_erc721_bridge = { version = "2.7.0", implementation_address = "0x25d6cedeb277ad7ebee71226ed7877768e0b7a2f" } +l1_standard_bridge = { version = "2.6.0", implementation_address = "0x44afb7722af276a601d524f429016a18b6923df0" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677a186f64805fe7317d6993ba4863988f" } +op_contracts_manager = { version = "2.4.0", address = "0x56ebc5c4870f5367b836081610592241ad3e0734" } +superchain_config = { version = "2.3.0", implementation_address = "0xce28685eb204186b557133766eca00334eb441e4" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37e15e4d6dffa9e5e320ee1ec036922e563cb76c" } + +# Upgrade 16 https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv4.0.0-rc.8 +["op-contracts/v4.0.0-rc.8"] +system_config = { version = "3.4.0", implementation_address = "0xfaa660bf783cbaa55e1b7f3475c20db74a53b9fa" } +fault_dispute_game = { version = "1.4.1" } +permissioned_dispute_game = { version = "1.7.0" } +mips = { version = "1.4.0-patch.2", address = "0xa1b54d89e305bcd322ba0c9c094093173c0d6b3a" } +optimism_portal = { version = "4.6.0", implementation_address = "0xefed7f38bb9be74bba583a1a5b7d0fe7c9d5787a" } +anchor_state_registry = { version = "3.5.0", implementation_address = "0xeb69cc681e8d4a557b30dffbad85affd47a2cf2e" } +delayed_weth = { version = "1.5.0", implementation_address = "0x33dadc2d1aa9bb613a7ae6b28425ea00d44c6998" } +eth_lockbox = { version = "1.2.0", implementation_address = "0x784d2f03593a42a6e4676a012762f18775ecbbe6" } +dispute_game_factory = { version = "1.2.0", implementation_address = "0x33d1e8571a85a538ed3d5a4d88f46c112383439d" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.9.0", implementation_address = "0xd26bb3aaaa4cb5638a8581a4c4b1d937d8e05c54" } +l1_erc721_bridge = { version = "2.7.0", implementation_address = "0x25d6cedeb277ad7ebee71226ed7877768e0b7a2f" } +l1_standard_bridge = { version = "2.6.0", implementation_address = "0x44afb7722af276a601d524f429016a18b6923df0" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677a186f64805fe7317d6993ba4863988f" } +op_contracts_manager = { version = "2.4.0", address = "0x56ebc5c4870f5367b836081610592241ad3e0734" } +superchain_config = { version = "2.3.0", implementation_address = "0xce28685eb204186b557133766eca00334eb441e4" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37e15e4d6dffa9e5e320ee1ec036922e563cb76c" } + +# Upgrade 16 https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv4.0.0-rc.7 +["op-contracts/v4.0.0-rc.7"] +system_config = { version = "3.4.0", implementation_address = "0xfaa660bf783cbaa55e1b7f3475c20db74a53b9fa" } +fault_dispute_game = { version = "1.4.1" } +permissioned_dispute_game = { version = "1.7.0" } +mips = { version = "1.4.0", address = "0x8a4e5594662775f71b05977a6c90590dd14e3c8f" } +optimism_portal = { version = "4.6.0", implementation_address = "0xefed7f38bb9be74bba583a1a5b7d0fe7c9d5787a" } +anchor_state_registry = { version = "3.5.0", implementation_address = "0xeb69cc681e8d4a557b30dffbad85affd47a2cf2e" } +delayed_weth = { version = "1.5.0", implementation_address = "0x33dadc2d1aa9bb613a7ae6b28425ea00d44c6998" } +eth_lockbox = { version = "1.2.0", implementation_address = "0x784d2f03593a42a6e4676a012762f18775ecbbe6" } +dispute_game_factory = { version = "1.2.0", implementation_address = "0x33d1e8571a85a538ed3d5a4d88f46c112383439d" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.9.0", implementation_address = "0xd26bb3aaaa4cb5638a8581a4c4b1d937d8e05c54" } +l1_erc721_bridge = { version = "2.7.0", implementation_address = "0x25d6cedeb277ad7ebee71226ed7877768e0b7a2f" } +l1_standard_bridge = { version = "2.6.0", implementation_address = "0x44afb7722af276a601d524f429016a18b6923df0" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677a186f64805fe7317d6993ba4863988f" } +op_contracts_manager = { version = "2.4.0", address = "0x4fefd0c327d08143be8037c45f8a29fa0d711e50" } +superchain_config = { version = "2.3.0", implementation_address = "0xce28685eb204186b557133766eca00334eb441e4" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37e15e4d6dffa9e5e320ee1ec036922e563cb76c" } + +# Upgrade 16 https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv4.0.0-rc.6 +["op-contracts/v4.0.0-rc.6"] +system_config = { version = "3.4.0", implementation_address = "0xfaa660bf783cbaa55e1b7f3475c20db74a53b9fa" } +fault_dispute_game = { version = "1.4.1" } +permissioned_dispute_game = { version = "1.7.0" } +mips = { version = "1.4.0", address = "0x8a4e5594662775f71b05977a6c90590dd14e3c8f" } +optimism_portal = { version = "4.6.0", implementation_address = "0xefed7f38bb9be74bba583a1a5b7d0fe7c9d5787a" } +anchor_state_registry = { version = "3.5.0", implementation_address = "0xeb69cc681e8d4a557b30dffbad85affd47a2cf2e" } +delayed_weth = { version = "1.5.0", implementation_address = "0x33dadc2d1aa9bb613a7ae6b28425ea00d44c6998" } +eth_lockbox = { version = "1.2.0", implementation_address = "0x784d2f03593a42a6e4676a012762f18775ecbbe6" } +dispute_game_factory = { version = "1.2.0", implementation_address = "0x33d1e8571a85a538ed3d5a4d88f46c112383439d" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.9.0", implementation_address = "0xd26bb3aaaa4cb5638a8581a4c4b1d937d8e05c54" } +l1_erc721_bridge = { version = "2.7.0", implementation_address = "0x25d6cedeb277ad7ebee71226ed7877768e0b7a2f" } +l1_standard_bridge = { version = "2.6.0", implementation_address = "0x44afb7722af276a601d524f429016a18b6923df0" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677a186f64805fe7317d6993ba4863988f" } +op_contracts_manager = { version = "2.4.0", address = "0x4fefd0c327d08143be8037c45f8a29fa0d711e50" } +superchain_config = { version = "2.3.0", implementation_address = "0xce28685eb204186b557133766eca00334eb441e4" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37e15e4d6dffa9e5e320ee1ec036922e563cb76c" } + +# Only the DeployOPChain.s.sol script changed between v3.0.0 and v3.0.1 +["op-contracts/v3.0.1"] +system_config = { version = "2.5.0", implementation_address = "0x340f923e5c7cbb2171146f64169ec9d5a9ffe647" } +fault_dispute_game = { version = "1.4.1" } +permissioned_dispute_game = { version = "1.4.1" } +mips = { version = "1.0.0", address = "0xf027f4a985560fb13324e943edf55ad6f1d15dc1" } # NOTE: MIPS is now MIPS64, so the semver is reset to 1.0.0 +optimism_portal = { version = "3.14.0", implementation_address = "0xb443da3e07052204a02d630a8933dac05a0d6fb4" } +anchor_state_registry = { version = "2.2.2", implementation_address = "0x7b465370bb7a333f99edd19599eb7fb1c2d3f8d2" } +delayed_weth = { version = "1.3.0", implementation_address = "0x5e40b9231b86984b5150507046e354dbfbed3d9e" } +dispute_game_factory = { version = "1.0.1", implementation_address = "0x4bbA758F006Ef09402eF31724203F316ab74e4a0" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.6.0", implementation_address = "0x5d5a095665886119693f0b41d8dfee78da033e8b" } +l1_erc721_bridge = { version = "2.4.0", implementation_address = "0x7ae1d3bd877a4c5ca257404ce26be93a02c98013" } +l1_standard_bridge = { version = "2.3.0", implementation_address = "0x0b09ba359a106c9ea3b181cbc5f394570c7d2a7a" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677A186f64805fe7317D6993ba4863988F" } +op_contracts_manager = { version = "1.9.0", address = "0x3a1f523a4bc09cd344a2745a108bb0398288094f" } +superchain_config = { version = "1.2.0", implementation_address = "0x4da82a327773965b8d4D85Fa3dB8249b387458E7" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37E15e4d6DFFa9e5E320Ee1eC036922E563CB76C" } + +# Upgrade 14 https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv3.0.0 +# Only the L2 predeploys changed between rc.1 and rc.2. See https://github.com/ethereum-optimism/optimism/pull/14848. +["op-contracts/v3.0.0"] +system_config = { version = "2.5.0", implementation_address = "0x340f923e5c7cbb2171146f64169ec9d5a9ffe647" } +fault_dispute_game = { version = "1.4.1" } +permissioned_dispute_game = { version = "1.4.1" } +mips = { version = "1.0.0", address = "0xf027f4a985560fb13324e943edf55ad6f1d15dc1" } # NOTE: MIPS is now MIPS64, so the semver is reset to 1.0.0 +optimism_portal = { version = "3.14.0", implementation_address = "0xb443da3e07052204a02d630a8933dac05a0d6fb4" } +anchor_state_registry = { version = "2.2.2", implementation_address = "0x7b465370bb7a333f99edd19599eb7fb1c2d3f8d2" } +delayed_weth = { version = "1.3.0", implementation_address = "0x5e40b9231b86984b5150507046e354dbfbed3d9e" } +dispute_game_factory = { version = "1.0.1", implementation_address = "0x4bbA758F006Ef09402eF31724203F316ab74e4a0" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.6.0", implementation_address = "0x5d5a095665886119693f0b41d8dfee78da033e8b" } +l1_erc721_bridge = { version = "2.4.0", implementation_address = "0x7ae1d3bd877a4c5ca257404ce26be93a02c98013" } +l1_standard_bridge = { version = "2.3.0", implementation_address = "0x0b09ba359a106c9ea3b181cbc5f394570c7d2a7a" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677A186f64805fe7317D6993ba4863988F" } +op_contracts_manager = { version = "1.9.0", address = "0x3a1f523a4bc09cd344a2745a108bb0398288094f" } +superchain_config = { version = "1.2.0", implementation_address = "0x4da82a327773965b8d4D85Fa3dB8249b387458E7" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37E15e4d6DFFa9e5E320Ee1eC036922E563CB76C" } + +# Upgrade 14 https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv3.0.0-rc.2 +# Only the L2 predeploys changed between rc.1 and rc.2. See https://github.com/ethereum-optimism/optimism/pull/14848. +["op-contracts/v3.0.0-rc.2"] +system_config = { version = "2.5.0", implementation_address = "0x340f923e5c7cbb2171146f64169ec9d5a9ffe647" } +fault_dispute_game = { version = "1.4.1" } +permissioned_dispute_game = { version = "1.4.1" } +mips = { version = "1.0.0", address = "0xf027f4a985560fb13324e943edf55ad6f1d15dc1" } # NOTE: MIPS is now MIPS64, so the semver is reset to 1.0.0 +optimism_portal = { version = "3.14.0", implementation_address = "0xb443da3e07052204a02d630a8933dac05a0d6fb4" } +anchor_state_registry = { version = "2.2.2", implementation_address = "0x7b465370bb7a333f99edd19599eb7fb1c2d3f8d2" } +delayed_weth = { version = "1.3.0", implementation_address = "0x5e40b9231b86984b5150507046e354dbfbed3d9e" } +dispute_game_factory = { version = "1.0.1", implementation_address = "0x4bbA758F006Ef09402eF31724203F316ab74e4a0" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.6.0", implementation_address = "0x5d5a095665886119693f0b41d8dfee78da033e8b" } +l1_erc721_bridge = { version = "2.4.0", implementation_address = "0x7ae1d3bd877a4c5ca257404ce26be93a02c98013" } +l1_standard_bridge = { version = "2.3.0", implementation_address = "0x0b09ba359a106c9ea3b181cbc5f394570c7d2a7a" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677A186f64805fe7317D6993ba4863988F" } +op_contracts_manager = { version = "1.9.0", address = "0x3a1f523a4bc09cd344a2745a108bb0398288094f" } +superchain_config = { version = "1.2.0", implementation_address = "0x4da82a327773965b8d4D85Fa3dB8249b387458E7" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37E15e4d6DFFa9e5E320Ee1eC036922E563CB76C" } + +# Upgrade 14 https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv3.0.0-rc.1 +["op-contracts/v3.0.0-rc.1"] +system_config = { version = "2.5.0", implementation_address = "0x340f923e5c7cbb2171146f64169ec9d5a9ffe647" } +fault_dispute_game = { version = "1.4.1" } +permissioned_dispute_game = { version = "1.4.1" } +mips = { version = "1.0.0", address = "0xf027f4a985560fb13324e943edf55ad6f1d15dc1" } # NOTE: MIPS is now MIPS64, so the semver is reset to 1.0.0 +optimism_portal = { version = "3.14.0", implementation_address = "0xb443da3e07052204a02d630a8933dac05a0d6fb4" } +anchor_state_registry = { version = "2.2.2", implementation_address = "0x7b465370bb7a333f99edd19599eb7fb1c2d3f8d2" } +delayed_weth = { version = "1.3.0", implementation_address = "0x5e40b9231b86984b5150507046e354dbfbed3d9e" } +dispute_game_factory = { version = "1.0.1", implementation_address = "0x4bbA758F006Ef09402eF31724203F316ab74e4a0" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.6.0", implementation_address = "0x5d5a095665886119693f0b41d8dfee78da033e8b" } +l1_erc721_bridge = { version = "2.4.0", implementation_address = "0x7ae1d3bd877a4c5ca257404ce26be93a02c98013" } +l1_standard_bridge = { version = "2.3.0", implementation_address = "0x0b09ba359a106c9ea3b181cbc5f394570c7d2a7a" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677A186f64805fe7317D6993ba4863988F" } +op_contracts_manager = { version = "1.9.0", address = "0x3a1f523a4bc09cd344a2745a108bb0398288094f" } +superchain_config = { version = "1.2.0", implementation_address = "0x4da82a327773965b8d4D85Fa3dB8249b387458E7" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37E15e4d6DFFa9e5E320Ee1eC036922E563CB76C" } + +# OPCM https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv2.2.0 +["op-contracts/v2.2.0"] +system_config = { version = "2.4.0", implementation_address = "0x760c48c62a85045a6b69f07f4a9f22868659cbcc" } +fault_dispute_game = { version = "1.4.1" } +permissioned_dispute_game = { version = "1.4.1" } +mips = { version = "1.3.0", address = "0xaa59a0777648bc75cd10364083e878c1ccd6112a" } +optimism_portal = { version = "3.13.0", implementation_address = "0x2d7e764a0d9919e16983a46595cfa81fc34fa7cd" } +anchor_state_registry = { version = "2.2.2", implementation_address = "0x7b465370bb7a333f99edd19599eb7fb1c2d3f8d2" } +delayed_weth = { version = "1.3.0", implementation_address = "0x5e40b9231b86984b5150507046e354dbfbed3d9e" } +dispute_game_factory = { version = "1.0.1", implementation_address = "0x4bbA758F006Ef09402eF31724203F316ab74e4a0" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.5.0", implementation_address = "0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231" } +l1_erc721_bridge = { version = "2.3.1", implementation_address = "0x276d3730f219f7ec22274f7263180b8452b46d47" } +l1_standard_bridge = { version = "2.2.2", implementation_address = "0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677A186f64805fe7317D6993ba4863988F" } +op_contracts_manager = { version = "1.7.0", address = "0x1c7bfa38a25ad22cafc556a9bd827e1da7ec1791" } +superchain_config = { version = "1.2.0", implementation_address = "0x4da82a327773965b8d4D85Fa3dB8249b387458E7" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37E15e4d6DFFa9e5E320Ee1eC036922E563CB76C" } + +# OPCM https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv2.0.0 +["op-contracts/v2.0.0"] +system_config = { version = "2.4.0", implementation_address = "0x760c48c62a85045a6b69f07f4a9f22868659cbcc" } +fault_dispute_game = { version = "1.4.1" } +permissioned_dispute_game = { version = "1.4.1" } +mips = { version = "1.3.0", address = "0xaa59a0777648bc75cd10364083e878c1ccd6112a" } +optimism_portal = { version = "3.13.0", implementation_address = "0x2d7e764a0d9919e16983a46595cfa81fc34fa7cd" } +anchor_state_registry = { version = "2.2.2", implementation_address = "0x7b465370bb7a333f99edd19599eb7fb1c2d3f8d2" } +delayed_weth = { version = "1.3.0", implementation_address = "0x5e40b9231b86984b5150507046e354dbfbed3d9e" } +dispute_game_factory = { version = "1.0.1", implementation_address = "0x4bbA758F006Ef09402eF31724203F316ab74e4a0" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.5.0", implementation_address = "0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231" } +l1_erc721_bridge = { version = "2.3.1", implementation_address = "0x276d3730f219f7ec22274f7263180b8452b46d47" } +l1_standard_bridge = { version = "2.2.2", implementation_address = "0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677A186f64805fe7317D6993ba4863988F" } +op_contracts_manager = { version = "1.6.0", address = "0x026b2f158255beac46c1e7c6b8bbf29a4b6a7b76" } +superchain_config = { version = "1.2.0", implementation_address = "0x4da82a327773965b8d4D85Fa3dB8249b387458E7" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37E15e4d6DFFa9e5E320Ee1eC036922E563CB76C" } + +# OPCM https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv2.0.0-rc.1 +["op-contracts/v2.0.0-rc.1"] +system_config = { version = "2.4.0", implementation_address = "0x760c48c62a85045a6b69f07f4a9f22868659cbcc" } +fault_dispute_game = { version = "1.4.1" } +permissioned_dispute_game = { version = "1.4.1" } +mips = { version = "1.3.0", address = "0xaa59a0777648bc75cd10364083e878c1ccd6112a" } +optimism_portal = { version = "3.13.0", implementation_address = "0x2d7e764a0d9919e16983a46595cfa81fc34fa7cd" } +anchor_state_registry = { version = "2.2.2", implementation_address = "0x7b465370bb7a333f99edd19599eb7fb1c2d3f8d2" } +delayed_weth = { version = "1.3.0", implementation_address = "0x5e40b9231b86984b5150507046e354dbfbed3d9e" } +dispute_game_factory = { version = "1.0.1", implementation_address = "0x4bbA758F006Ef09402eF31724203F316ab74e4a0" } +preimage_oracle = { version = "1.1.4", address = "0x1fb8cdfc6831fc866ed9c51af8817da5c287add3" } +l1_cross_domain_messenger = { version = "2.5.0", implementation_address = "0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231" } +l1_erc721_bridge = { version = "2.3.1", implementation_address = "0x276d3730f219f7ec22274f7263180b8452b46d47" } +l1_standard_bridge = { version = "2.2.2", implementation_address = "0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6" } +optimism_mintable_erc20_factory = { version = "1.10.1", implementation_address = "0x5493f4677A186f64805fe7317D6993ba4863988F" } +op_contracts_manager = { version = "1.6.0", address = "0x026b2f158255beac46c1e7c6b8bbf29a4b6a7b76" } +superchain_config = { version = "1.2.0", implementation_address = "0x4da82a327773965b8d4D85Fa3dB8249b387458E7" } +protocol_versions = { version = "1.1.0", implementation_address = "0x37E15e4d6DFFa9e5E320Ee1eC036922E563CB76C" } + +# Holocene https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv1.8.0 +["op-contracts/v1.8.0"] +# Updated in this release +system_config = { version = "2.3.0", implementation_address = "0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375" } # UPDATED IN THIS RELEASE +fault_dispute_game = { version = "1.3.1" } # UPDATED IN THIS RELEASE +permissioned_dispute_game = { version = "1.3.1" } # UPDATED IN THIS RELEASE +mips = { version = "1.2.1", address = "0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C" } # UPDATED IN THIS RELEASE +# Unchanged in this release +optimism_portal = { version = "3.10.0", implementation_address = "0xe2F826324b2faf99E513D16D266c3F80aE87832B" } +anchor_state_registry = { version = "2.0.0" } +delayed_weth = { version = "1.1.0", implementation_address = "0x71e966Ae981d1ce531a7b6d23DC0f27B38409087" } +dispute_game_factory = { version = "1.0.0", implementation_address = "0xc641A33cab81C559F2bd4b21EA34C290E2440C2B" } +preimage_oracle = { version = "1.1.2", address = "0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277" } +l1_cross_domain_messenger = { version = "2.3.0", implementation_address = "0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65" } +l1_erc721_bridge = { version = "2.1.0", implementation_address = "0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d" } +l1_standard_bridge = { version = "2.1.0", implementation_address = "0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF" } +# l2_output_oracle -- This contract not used in fault proofs +optimism_mintable_erc20_factory = { version = "1.9.0", implementation_address = "0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846" } +op_contracts_manager = { version = "1.0.0-beta.21", implementation_address = "0x5269eed89b0d04d909a0973439e2587e815ba932" } + +# Holocene https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv1.8.0-rc.4 +["op-contracts/v1.8.0-rc.4"] +# Updated in this release +system_config = { version = "2.3.0", implementation_address = "0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375" } # UPDATED IN THIS RELEASE +fault_dispute_game = { version = "1.3.1" } # UPDATED IN THIS RELEASE +permissioned_dispute_game = { version = "1.3.1" } # UPDATED IN THIS RELEASE +mips = { version = "1.2.1", address = "0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C" } # UPDATED IN THIS RELEASE +# Unchanged in this release +optimism_portal = { version = "3.10.0", implementation_address = "0xe2F826324b2faf99E513D16D266c3F80aE87832B" } +anchor_state_registry = { version = "2.0.0" } +delayed_weth = { version = "1.1.0", implementation_address = "0x71e966Ae981d1ce531a7b6d23DC0f27B38409087" } +dispute_game_factory = { version = "1.0.0", implementation_address = "0xc641A33cab81C559F2bd4b21EA34C290E2440C2B" } +preimage_oracle = { version = "1.1.2", address = "0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277" } +l1_cross_domain_messenger = { version = "2.3.0", implementation_address = "0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65" } +l1_erc721_bridge = { version = "2.1.0", implementation_address = "0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d" } +l1_standard_bridge = { version = "2.1.0", implementation_address = "0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF" } +# l2_output_oracle -- This contract not used in fault proofs +optimism_mintable_erc20_factory = { version = "1.9.0", implementation_address = "0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846" } +op_contracts_manager = { version = "1.0.0-beta.21", implementation_address = "0x5269eed89b0d04d909a0973439e2587e815ba932" } + +# Fault Proofs https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv1.6.0 +["op-contracts/v1.6.0"] +optimism_portal = { version = "3.10.0", implementation_address = "0xe2F826324b2faf99E513D16D266c3F80aE87832B" } +system_config = { version = "2.2.0", implementation_address = "0xF56D96B2535B932656d3c04Ebf51baBff241D886" } +anchor_state_registry = { version = "2.0.0" } +delayed_weth = { version = "1.1.0", implementation_address = "0x71e966Ae981d1ce531a7b6d23DC0f27B38409087" } +dispute_game_factory = { version = "1.0.0", implementation_address = "0xc641A33cab81C559F2bd4b21EA34C290E2440C2B" } +fault_dispute_game = { version = "1.3.0" } +permissioned_dispute_game = { version = "1.3.0" } +mips = { version = "1.1.0", address = "0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4" } +preimage_oracle = { version = "1.1.2", address = "0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277" } +l1_cross_domain_messenger = { version = "2.3.0", implementation_address = "0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65" } +l1_erc721_bridge = { version = "2.1.0", implementation_address = "0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d" } +l1_standard_bridge = { version = "2.1.0", implementation_address = "0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF" } +# l2_output_oracle -- This contract not used in fault proofs +optimism_mintable_erc20_factory = { version = "1.9.0", implementation_address = "0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846" } +op_contracts_manager = { version = "1.0.0-beta.21", implementation_address = "0x9BC0A1eD534BFb31a6Be69e5b767Cba332f14347" } + +# Fault Proofs https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv1.4.0 +["op-contracts/v1.4.0"] +optimism_portal = { version = "3.10.0", implementation_address = "0xe2F826324b2faf99E513D16D266c3F80aE87832B" } +system_config = { version = "2.2.0", implementation_address = "0xF56D96B2535B932656d3c04Ebf51baBff241D886" } +anchor_state_registry = { version = "1.0.0" } +delayed_weth = { version = "1.0.0", implementation_address = "0x97988d5624F1ba266E1da305117BCf20713bee08" } +dispute_game_factory = { version = "1.0.0", implementation_address = "0xc641A33cab81C559F2bd4b21EA34C290E2440C2B" } +fault_dispute_game = { version = "1.2.0" } +permissioned_dispute_game = { version = "1.2.0" } +mips = { version = "1.0.1", address = "0x0f8EdFbDdD3c0256A80AD8C0F2560B1807873C9c" } +preimage_oracle = { version = "1.0.0", address = "0xD326E10B8186e90F4E2adc5c13a2d0C137ee8b34" } + +# MCP https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv1.3.0 +["op-contracts/v1.3.0"] +l1_cross_domain_messenger = { version = "2.3.0", implementation_address = "0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65" } +l1_erc721_bridge = { version = "2.1.0", implementation_address = "0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d" } +l1_standard_bridge = { version = "2.1.0", implementation_address = "0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF" } +l2_output_oracle = { version = "1.8.0", implementation_address = "0xF243BEd163251380e78068d317ae10f26042B292" } +optimism_mintable_erc20_factory = { version = "1.9.0", implementation_address = "0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846" } +optimism_portal = { version = "2.5.0", implementation_address = "0x2D778797049FE9259d947D1ED8e5442226dFB589" } +system_config = { version = "1.12.0", implementation_address = "0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1" } diff --git a/config/pmm-soak-wallet-grid.json b/config/pmm-soak-wallet-grid.json new file mode 100644 index 00000000..ea2dac51 --- /dev/null +++ b/config/pmm-soak-wallet-grid.json @@ -0,0 +1,71903 @@ +{ + "version": 2, + "dimensions": { + "lpbcaCount": 33, + "branchCount": 33, + "classCount": 6, + "linearCount": 6534, + "linearCountExported": 6534 + }, + "derivation": { + "pathTemplate": "m/44'/60'/0'/0/{linearIndex}", + "linearIndexFormula": "linear = lpbca * 198 + branch * 6 + class" + }, + "labeling": { + "specId": "ei-wallet-label-v1", + "registryPath": "config/elemental-imperium-network-registry.json", + "defaultNetworkCode": "unassigned", + "baseNetworkCode": "unassigned", + "baseAsn": null, + "overlayPath": null, + "cellIdFormat": "EI-L{lpbca:02d}-B{branch:02d}-C{class}", + "labelFormats": { + "default": "{networkCode}.{cellId}", + "withAsn": "{networkCode}.{cellId}.AS{asn}" + } + }, + "wallets": [ + { + "lpbca": 0, + "branch": 0, + "class": 0, + "linearIndex": 0, + "address": "0x5007e567c4D737DB9bbDF180019CE33C92dFaD64", + "cellId": "EI-L00-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B00-C0" + }, + { + "lpbca": 0, + "branch": 0, + "class": 1, + "linearIndex": 1, + "address": "0x2567BC8b16F4C6c97f20d4BeFD4aD562357130c1", + "cellId": "EI-L00-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B00-C1" + }, + { + "lpbca": 0, + "branch": 0, + "class": 2, + "linearIndex": 2, + "address": "0xf6571E92E29d941c9f00fAf122E094044521b43d", + "cellId": "EI-L00-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B00-C2" + }, + { + "lpbca": 0, + "branch": 0, + "class": 3, + "linearIndex": 3, + "address": "0xE4EAadf888E6d9B51Eb6A104694F4258dEbFFaeE", + "cellId": "EI-L00-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B00-C3" + }, + { + "lpbca": 0, + "branch": 0, + "class": 4, + "linearIndex": 4, + "address": "0xED533675D21F09EB6AF0A3b8471D1A832B0DFF20", + "cellId": "EI-L00-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B00-C4" + }, + { + "lpbca": 0, + "branch": 0, + "class": 5, + "linearIndex": 5, + "address": "0x3683e8688768c4e12C3e8e52924DDa5297A686c2", + "cellId": "EI-L00-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B00-C5" + }, + { + "lpbca": 0, + "branch": 1, + "class": 0, + "linearIndex": 6, + "address": "0x483820b8910d022a5a454B09D13bB41200764784", + "cellId": "EI-L00-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B01-C0" + }, + { + "lpbca": 0, + "branch": 1, + "class": 1, + "linearIndex": 7, + "address": "0xe199149f55dEB66Ef426eb8919866A8D9dF19128", + "cellId": "EI-L00-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B01-C1" + }, + { + "lpbca": 0, + "branch": 1, + "class": 2, + "linearIndex": 8, + "address": "0xcDC0D411c37EAB1325DA9B45f43235E19448099C", + "cellId": "EI-L00-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B01-C2" + }, + { + "lpbca": 0, + "branch": 1, + "class": 3, + "linearIndex": 9, + "address": "0x6DBaC054739898e8437f76AB60095589DF9b2957", + "cellId": "EI-L00-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B01-C3" + }, + { + "lpbca": 0, + "branch": 1, + "class": 4, + "linearIndex": 10, + "address": "0xcCC841b3a0b3f7b231A6bA8e71e896266D917351", + "cellId": "EI-L00-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B01-C4" + }, + { + "lpbca": 0, + "branch": 1, + "class": 5, + "linearIndex": 11, + "address": "0x41A8561ba55C46Bb69d02d627675203F09630B70", + "cellId": "EI-L00-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B01-C5" + }, + { + "lpbca": 0, + "branch": 2, + "class": 0, + "linearIndex": 12, + "address": "0xD8E6f3DDD94489A0E35c373EF7eEF51FdFA60771", + "cellId": "EI-L00-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B02-C0" + }, + { + "lpbca": 0, + "branch": 2, + "class": 1, + "linearIndex": 13, + "address": "0x1d9A8D7139DE32F67f5C14f9f4ebBf773d33EBA9", + "cellId": "EI-L00-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B02-C1" + }, + { + "lpbca": 0, + "branch": 2, + "class": 2, + "linearIndex": 14, + "address": "0xe41A72C209Df3Bf99feb46E6eF6835bE37b3b01d", + "cellId": "EI-L00-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B02-C2" + }, + { + "lpbca": 0, + "branch": 2, + "class": 3, + "linearIndex": 15, + "address": "0x0c86512f356DC2e3aBBa96c41de7eFF014561296", + "cellId": "EI-L00-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B02-C3" + }, + { + "lpbca": 0, + "branch": 2, + "class": 4, + "linearIndex": 16, + "address": "0x714Aa4DdC47339b6CB92AE87cDCb364b9a003b0d", + "cellId": "EI-L00-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B02-C4" + }, + { + "lpbca": 0, + "branch": 2, + "class": 5, + "linearIndex": 17, + "address": "0xe6CB4F4Cf6Ec0fe50A45D6481fbd1c0075A62578", + "cellId": "EI-L00-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B02-C5" + }, + { + "lpbca": 0, + "branch": 3, + "class": 0, + "linearIndex": 18, + "address": "0x0C3Deb31f016810807Ebd2DF92ED523d5b673B89", + "cellId": "EI-L00-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B03-C0" + }, + { + "lpbca": 0, + "branch": 3, + "class": 1, + "linearIndex": 19, + "address": "0x3dbE4b2d38e06Ea6CF23856214deBFF249Fce716", + "cellId": "EI-L00-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B03-C1" + }, + { + "lpbca": 0, + "branch": 3, + "class": 2, + "linearIndex": 20, + "address": "0x229f286c8F2B92A2dB4848AE8cbe01584dd5918B", + "cellId": "EI-L00-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B03-C2" + }, + { + "lpbca": 0, + "branch": 3, + "class": 3, + "linearIndex": 21, + "address": "0x9D06E8026093eCB61117a462Cb8fe801E4fc3f38", + "cellId": "EI-L00-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B03-C3" + }, + { + "lpbca": 0, + "branch": 3, + "class": 4, + "linearIndex": 22, + "address": "0xea1B1974b1d455d7aa649b27347e1d2B310E63B7", + "cellId": "EI-L00-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B03-C4" + }, + { + "lpbca": 0, + "branch": 3, + "class": 5, + "linearIndex": 23, + "address": "0x29c5686182A04c3Ba279d9667b2EA637C8f69319", + "cellId": "EI-L00-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B03-C5" + }, + { + "lpbca": 0, + "branch": 4, + "class": 0, + "linearIndex": 24, + "address": "0x1D4Fa38428A60a91b76B2bbAAE028cA9d5Fa6843", + "cellId": "EI-L00-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B04-C0" + }, + { + "lpbca": 0, + "branch": 4, + "class": 1, + "linearIndex": 25, + "address": "0xA67655b9d2b01BB972B6e4e6aa99BbE59A2bBB65", + "cellId": "EI-L00-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B04-C1" + }, + { + "lpbca": 0, + "branch": 4, + "class": 2, + "linearIndex": 26, + "address": "0x935d254725Aabc34844320347Fd16c478eB64003", + "cellId": "EI-L00-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B04-C2" + }, + { + "lpbca": 0, + "branch": 4, + "class": 3, + "linearIndex": 27, + "address": "0x27d841c6EA553dF0f597832b9ed559d2F653CCC6", + "cellId": "EI-L00-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B04-C3" + }, + { + "lpbca": 0, + "branch": 4, + "class": 4, + "linearIndex": 28, + "address": "0x00bFC4cbeE0f3523C83c2dC1DeAB8a1C8bFFE684", + "cellId": "EI-L00-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B04-C4" + }, + { + "lpbca": 0, + "branch": 4, + "class": 5, + "linearIndex": 29, + "address": "0xC69FB89e59969AF3f44a02802386294e9Cc9DAF9", + "cellId": "EI-L00-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B04-C5" + }, + { + "lpbca": 0, + "branch": 5, + "class": 0, + "linearIndex": 30, + "address": "0x5e47C2149577255aa0268F4074e3d1a958e29F8d", + "cellId": "EI-L00-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B05-C0" + }, + { + "lpbca": 0, + "branch": 5, + "class": 1, + "linearIndex": 31, + "address": "0x966EA7Fd373E61E7bE27bd0C5853330FD0363471", + "cellId": "EI-L00-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B05-C1" + }, + { + "lpbca": 0, + "branch": 5, + "class": 2, + "linearIndex": 32, + "address": "0xAE51FAe278c57Fed1809306990c4519Daf66632f", + "cellId": "EI-L00-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B05-C2" + }, + { + "lpbca": 0, + "branch": 5, + "class": 3, + "linearIndex": 33, + "address": "0x5BD870B47B7D3F63760eAF9ECB5b398e4eE95120", + "cellId": "EI-L00-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B05-C3" + }, + { + "lpbca": 0, + "branch": 5, + "class": 4, + "linearIndex": 34, + "address": "0x33d48708Ae345087eB9b0e064ec4AE5258064D58", + "cellId": "EI-L00-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B05-C4" + }, + { + "lpbca": 0, + "branch": 5, + "class": 5, + "linearIndex": 35, + "address": "0xcD15a133286c63411E0c3Ee53B85B966e043477F", + "cellId": "EI-L00-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B05-C5" + }, + { + "lpbca": 0, + "branch": 6, + "class": 0, + "linearIndex": 36, + "address": "0x099dBF34ea1eb2eb65d034EF8797Ab78c9Ac41b7", + "cellId": "EI-L00-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B06-C0" + }, + { + "lpbca": 0, + "branch": 6, + "class": 1, + "linearIndex": 37, + "address": "0xBBDcf41586BE55bCAbff5A0Df765DA08f2213Cc6", + "cellId": "EI-L00-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B06-C1" + }, + { + "lpbca": 0, + "branch": 6, + "class": 2, + "linearIndex": 38, + "address": "0x6290883c528E0a3f6Df6672b8f07A576d7e9f166", + "cellId": "EI-L00-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B06-C2" + }, + { + "lpbca": 0, + "branch": 6, + "class": 3, + "linearIndex": 39, + "address": "0xd167E4535f3096b8b94e16765D62aB1FDfA14762", + "cellId": "EI-L00-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B06-C3" + }, + { + "lpbca": 0, + "branch": 6, + "class": 4, + "linearIndex": 40, + "address": "0xBF8acf0dAa81aBc36BCe9FeeEa64947e22a161E1", + "cellId": "EI-L00-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B06-C4" + }, + { + "lpbca": 0, + "branch": 6, + "class": 5, + "linearIndex": 41, + "address": "0x20d2c5620DF0a3657ab6504C1E4475461f6fcA00", + "cellId": "EI-L00-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B06-C5" + }, + { + "lpbca": 0, + "branch": 7, + "class": 0, + "linearIndex": 42, + "address": "0x07c20668f2B382AADDaD0082E44b49d7B00be421", + "cellId": "EI-L00-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B07-C0" + }, + { + "lpbca": 0, + "branch": 7, + "class": 1, + "linearIndex": 43, + "address": "0xf49a8e55eee6eF9873107FdA377aa08cb015703D", + "cellId": "EI-L00-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B07-C1" + }, + { + "lpbca": 0, + "branch": 7, + "class": 2, + "linearIndex": 44, + "address": "0xC1FE178f053fF303f4740368fEb0340310DfF79D", + "cellId": "EI-L00-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B07-C2" + }, + { + "lpbca": 0, + "branch": 7, + "class": 3, + "linearIndex": 45, + "address": "0x7b24C1479d1dD9048d08921EEB23f3ffa9f6d858", + "cellId": "EI-L00-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B07-C3" + }, + { + "lpbca": 0, + "branch": 7, + "class": 4, + "linearIndex": 46, + "address": "0x8FbC8dA83fA2D65b0Baa6954997bCD011620626e", + "cellId": "EI-L00-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B07-C4" + }, + { + "lpbca": 0, + "branch": 7, + "class": 5, + "linearIndex": 47, + "address": "0x4670df09cC152eEe81B7E5f9c4bC2B338375b85d", + "cellId": "EI-L00-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B07-C5" + }, + { + "lpbca": 0, + "branch": 8, + "class": 0, + "linearIndex": 48, + "address": "0x7201317C7Eeec2599d324e37E67F665a41E5A0c4", + "cellId": "EI-L00-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B08-C0" + }, + { + "lpbca": 0, + "branch": 8, + "class": 1, + "linearIndex": 49, + "address": "0x64CE717E5D4C8E6A464658D26a8DB1172394959f", + "cellId": "EI-L00-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B08-C1" + }, + { + "lpbca": 0, + "branch": 8, + "class": 2, + "linearIndex": 50, + "address": "0x2C5B1D69aEb8e9411E51F0EcC164aaEB9aA4d82f", + "cellId": "EI-L00-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B08-C2" + }, + { + "lpbca": 0, + "branch": 8, + "class": 3, + "linearIndex": 51, + "address": "0x688aEFe1dadd86Fa7AdBfa0fFEe2Ad33c91D7a4D", + "cellId": "EI-L00-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B08-C3" + }, + { + "lpbca": 0, + "branch": 8, + "class": 4, + "linearIndex": 52, + "address": "0x06808D2C0192d54954374F151FFE0d281990e129", + "cellId": "EI-L00-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B08-C4" + }, + { + "lpbca": 0, + "branch": 8, + "class": 5, + "linearIndex": 53, + "address": "0xC7B1F45273e1759e981b5275EACCD8E350CD0293", + "cellId": "EI-L00-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B08-C5" + }, + { + "lpbca": 0, + "branch": 9, + "class": 0, + "linearIndex": 54, + "address": "0xe7c8CA556EC73CFA89Fa5B7705b332824B49050a", + "cellId": "EI-L00-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B09-C0" + }, + { + "lpbca": 0, + "branch": 9, + "class": 1, + "linearIndex": 55, + "address": "0xb6e14C66dDAbc92dbbB48C58bF14c8510249B82f", + "cellId": "EI-L00-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B09-C1" + }, + { + "lpbca": 0, + "branch": 9, + "class": 2, + "linearIndex": 56, + "address": "0x0aCCB737FfF1d160632d1Db417D2474406e89096", + "cellId": "EI-L00-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B09-C2" + }, + { + "lpbca": 0, + "branch": 9, + "class": 3, + "linearIndex": 57, + "address": "0x4f4B8B6843cC617A6C0fBdF9AB246c684069835E", + "cellId": "EI-L00-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B09-C3" + }, + { + "lpbca": 0, + "branch": 9, + "class": 4, + "linearIndex": 58, + "address": "0x40F53C33dC8B7c79D1B221AC83C5eaf2Ef0Faef4", + "cellId": "EI-L00-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B09-C4" + }, + { + "lpbca": 0, + "branch": 9, + "class": 5, + "linearIndex": 59, + "address": "0x1b1C310fe940f9Ae93714778572CbA61F4B3098E", + "cellId": "EI-L00-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B09-C5" + }, + { + "lpbca": 0, + "branch": 10, + "class": 0, + "linearIndex": 60, + "address": "0xE20dF6ee946563fe25F6C4E3B76450f4A0a6cAb0", + "cellId": "EI-L00-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B10-C0" + }, + { + "lpbca": 0, + "branch": 10, + "class": 1, + "linearIndex": 61, + "address": "0xA5A23d2BB7cE8296A9BBe555D6F554a13E0d4Dcd", + "cellId": "EI-L00-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B10-C1" + }, + { + "lpbca": 0, + "branch": 10, + "class": 2, + "linearIndex": 62, + "address": "0x54c62d251194576074687DFb15872f8d5d7CfDa5", + "cellId": "EI-L00-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B10-C2" + }, + { + "lpbca": 0, + "branch": 10, + "class": 3, + "linearIndex": 63, + "address": "0x14b79c22Ed9d0033a606CfabbA9bD6d9c48EA41F", + "cellId": "EI-L00-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B10-C3" + }, + { + "lpbca": 0, + "branch": 10, + "class": 4, + "linearIndex": 64, + "address": "0xDa051623172D6bc7AA5e5bf82d31aFCE336E8843", + "cellId": "EI-L00-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B10-C4" + }, + { + "lpbca": 0, + "branch": 10, + "class": 5, + "linearIndex": 65, + "address": "0x39Dd5d724Ca519662581327bD14aEAE94Fd79f95", + "cellId": "EI-L00-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B10-C5" + }, + { + "lpbca": 0, + "branch": 11, + "class": 0, + "linearIndex": 66, + "address": "0x0c4A23b8202B2081cec5E8583B1aAB3bc74620FC", + "cellId": "EI-L00-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B11-C0" + }, + { + "lpbca": 0, + "branch": 11, + "class": 1, + "linearIndex": 67, + "address": "0x227D268c854f7A0BadF7468AA22f091E31C3788C", + "cellId": "EI-L00-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B11-C1" + }, + { + "lpbca": 0, + "branch": 11, + "class": 2, + "linearIndex": 68, + "address": "0x38DE0c4b130a594A542DB928f078cC985E017A8F", + "cellId": "EI-L00-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B11-C2" + }, + { + "lpbca": 0, + "branch": 11, + "class": 3, + "linearIndex": 69, + "address": "0x1F21110522ac2A59Ad96370F3c8D5877Eb7B4318", + "cellId": "EI-L00-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B11-C3" + }, + { + "lpbca": 0, + "branch": 11, + "class": 4, + "linearIndex": 70, + "address": "0xe6A2a60b6b171e9C66bd08092Fc56901e1aD4267", + "cellId": "EI-L00-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B11-C4" + }, + { + "lpbca": 0, + "branch": 11, + "class": 5, + "linearIndex": 71, + "address": "0x9CD4b485fdF2F8BF38d7F5fFe6b41aE6ac923CDA", + "cellId": "EI-L00-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B11-C5" + }, + { + "lpbca": 0, + "branch": 12, + "class": 0, + "linearIndex": 72, + "address": "0xcDE65c2D258520d1d0aECa0986268D5FF8884ed8", + "cellId": "EI-L00-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B12-C0" + }, + { + "lpbca": 0, + "branch": 12, + "class": 1, + "linearIndex": 73, + "address": "0x97a7Ab470cfc434A0f5087BF650015C6645b9B96", + "cellId": "EI-L00-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B12-C1" + }, + { + "lpbca": 0, + "branch": 12, + "class": 2, + "linearIndex": 74, + "address": "0xfa45CFf13200DD257d5F8f1F5F72b17a94836871", + "cellId": "EI-L00-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B12-C2" + }, + { + "lpbca": 0, + "branch": 12, + "class": 3, + "linearIndex": 75, + "address": "0x9cab8b7DFFa1C2340d47Bb0619727257ea4Beb4E", + "cellId": "EI-L00-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B12-C3" + }, + { + "lpbca": 0, + "branch": 12, + "class": 4, + "linearIndex": 76, + "address": "0xAc524ae88d082d84877E0482B0c5d571CF4f8729", + "cellId": "EI-L00-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B12-C4" + }, + { + "lpbca": 0, + "branch": 12, + "class": 5, + "linearIndex": 77, + "address": "0x1Cd5BB0eC64A2Abd1BCD440d1777512f8945F82d", + "cellId": "EI-L00-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B12-C5" + }, + { + "lpbca": 0, + "branch": 13, + "class": 0, + "linearIndex": 78, + "address": "0x28CF3A6a7f6101B0393C720C296A25A144188364", + "cellId": "EI-L00-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B13-C0" + }, + { + "lpbca": 0, + "branch": 13, + "class": 1, + "linearIndex": 79, + "address": "0x494afe21D190759Cd04889804DF20E287c11Ed34", + "cellId": "EI-L00-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B13-C1" + }, + { + "lpbca": 0, + "branch": 13, + "class": 2, + "linearIndex": 80, + "address": "0x39963b6ea824624B759c95a262A11EeBf10e13ad", + "cellId": "EI-L00-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B13-C2" + }, + { + "lpbca": 0, + "branch": 13, + "class": 3, + "linearIndex": 81, + "address": "0xd7122EFE52e1963CD2917bA9E68Ebd73d5E5271f", + "cellId": "EI-L00-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B13-C3" + }, + { + "lpbca": 0, + "branch": 13, + "class": 4, + "linearIndex": 82, + "address": "0xcd3aE218c9DFDd5CBa7800dA24aCd60a3dBa4Fd2", + "cellId": "EI-L00-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B13-C4" + }, + { + "lpbca": 0, + "branch": 13, + "class": 5, + "linearIndex": 83, + "address": "0xd7B401A9D4cF28B0Dd6eeb297aF48C5dEc0E480E", + "cellId": "EI-L00-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B13-C5" + }, + { + "lpbca": 0, + "branch": 14, + "class": 0, + "linearIndex": 84, + "address": "0xBd0e9426b54E1f48892357d5e6a1bb6DC70B0679", + "cellId": "EI-L00-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B14-C0" + }, + { + "lpbca": 0, + "branch": 14, + "class": 1, + "linearIndex": 85, + "address": "0x22480cEEE209Cf521a2e7154cD00292d4d44102d", + "cellId": "EI-L00-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B14-C1" + }, + { + "lpbca": 0, + "branch": 14, + "class": 2, + "linearIndex": 86, + "address": "0x089799611c8238B46AEA0b69b9E7Fb0938437cB2", + "cellId": "EI-L00-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B14-C2" + }, + { + "lpbca": 0, + "branch": 14, + "class": 3, + "linearIndex": 87, + "address": "0x662db04a5Cc3d3f9a7Cb39156D4B3A68E8e79c9A", + "cellId": "EI-L00-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B14-C3" + }, + { + "lpbca": 0, + "branch": 14, + "class": 4, + "linearIndex": 88, + "address": "0x59D14ab05Ff325Eb463Bd5d65Ad9Db7046Ed6d0B", + "cellId": "EI-L00-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B14-C4" + }, + { + "lpbca": 0, + "branch": 14, + "class": 5, + "linearIndex": 89, + "address": "0x0c0184C07A4167713ac4723f7C3f024CDc59DB74", + "cellId": "EI-L00-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B14-C5" + }, + { + "lpbca": 0, + "branch": 15, + "class": 0, + "linearIndex": 90, + "address": "0xF5727d4d12b011d414dEF2b50dC9Cac36E979867", + "cellId": "EI-L00-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B15-C0" + }, + { + "lpbca": 0, + "branch": 15, + "class": 1, + "linearIndex": 91, + "address": "0xF33be71cE53C648968A8A8CEaD4Ee777fe2926d0", + "cellId": "EI-L00-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B15-C1" + }, + { + "lpbca": 0, + "branch": 15, + "class": 2, + "linearIndex": 92, + "address": "0xF057E683074e19083d91aC0BC6800290196f2dA2", + "cellId": "EI-L00-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B15-C2" + }, + { + "lpbca": 0, + "branch": 15, + "class": 3, + "linearIndex": 93, + "address": "0xB27A6bb5772431572036ffE8d411Fabb101249C1", + "cellId": "EI-L00-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B15-C3" + }, + { + "lpbca": 0, + "branch": 15, + "class": 4, + "linearIndex": 94, + "address": "0x2CE812CA6d6250b916f30197a68D824cF0038975", + "cellId": "EI-L00-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B15-C4" + }, + { + "lpbca": 0, + "branch": 15, + "class": 5, + "linearIndex": 95, + "address": "0xdcEdcA0276f5897fa4c865f5f995cf2544947d77", + "cellId": "EI-L00-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B15-C5" + }, + { + "lpbca": 0, + "branch": 16, + "class": 0, + "linearIndex": 96, + "address": "0x943326Da240875Ca9d924B372F1B166a6bc27f28", + "cellId": "EI-L00-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B16-C0" + }, + { + "lpbca": 0, + "branch": 16, + "class": 1, + "linearIndex": 97, + "address": "0xA1e5DD1e8034d17361c8Dce793FF03f26f22E486", + "cellId": "EI-L00-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B16-C1" + }, + { + "lpbca": 0, + "branch": 16, + "class": 2, + "linearIndex": 98, + "address": "0x385D838D7456dDBC941DCC24DCfD6130B389d5e8", + "cellId": "EI-L00-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B16-C2" + }, + { + "lpbca": 0, + "branch": 16, + "class": 3, + "linearIndex": 99, + "address": "0x07b4B8F3A495f9C9efD839FA6B13B0bAC45f9ee0", + "cellId": "EI-L00-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B16-C3" + }, + { + "lpbca": 0, + "branch": 16, + "class": 4, + "linearIndex": 100, + "address": "0x4C849E5EBDf7095f140db12a335555fe6cC3d1Db", + "cellId": "EI-L00-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B16-C4" + }, + { + "lpbca": 0, + "branch": 16, + "class": 5, + "linearIndex": 101, + "address": "0xE815b82Ac34b094Ee92F1bd82d16932CE4554BA1", + "cellId": "EI-L00-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B16-C5" + }, + { + "lpbca": 0, + "branch": 17, + "class": 0, + "linearIndex": 102, + "address": "0x010Da1e5A92f03b9947E2816C4851cB73Bc1edDe", + "cellId": "EI-L00-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B17-C0" + }, + { + "lpbca": 0, + "branch": 17, + "class": 1, + "linearIndex": 103, + "address": "0x12788FFE0b657D5d8c8a65eD3B8775bf8D48F431", + "cellId": "EI-L00-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B17-C1" + }, + { + "lpbca": 0, + "branch": 17, + "class": 2, + "linearIndex": 104, + "address": "0x2910B23C28C9a735E2b1dA14BBE0D5aaFc55BF01", + "cellId": "EI-L00-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B17-C2" + }, + { + "lpbca": 0, + "branch": 17, + "class": 3, + "linearIndex": 105, + "address": "0x0eAeA5967F5D4D6a97AD2E7870F4880E5F394d6f", + "cellId": "EI-L00-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B17-C3" + }, + { + "lpbca": 0, + "branch": 17, + "class": 4, + "linearIndex": 106, + "address": "0xEe84edEA54AC3DA7987bcCCccc463b99974cC730", + "cellId": "EI-L00-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B17-C4" + }, + { + "lpbca": 0, + "branch": 17, + "class": 5, + "linearIndex": 107, + "address": "0x2E3eE667001913F3bEc0A940EeEcc50a4a2198CC", + "cellId": "EI-L00-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B17-C5" + }, + { + "lpbca": 0, + "branch": 18, + "class": 0, + "linearIndex": 108, + "address": "0xBd289C1228EcD2d7728CEa2618658c85D1A0C879", + "cellId": "EI-L00-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B18-C0" + }, + { + "lpbca": 0, + "branch": 18, + "class": 1, + "linearIndex": 109, + "address": "0x711f6D9ED7f93E04d831Ac9F73d350BC0E9Db067", + "cellId": "EI-L00-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B18-C1" + }, + { + "lpbca": 0, + "branch": 18, + "class": 2, + "linearIndex": 110, + "address": "0xFf8f64944c652380F3e14D670f932af2661E3c82", + "cellId": "EI-L00-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B18-C2" + }, + { + "lpbca": 0, + "branch": 18, + "class": 3, + "linearIndex": 111, + "address": "0xED658fbF3613B800BB66C8f60f825dBf9C1Aa293", + "cellId": "EI-L00-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B18-C3" + }, + { + "lpbca": 0, + "branch": 18, + "class": 4, + "linearIndex": 112, + "address": "0x1b47f7f3E716D57aB798431bbb9025215bfC2170", + "cellId": "EI-L00-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B18-C4" + }, + { + "lpbca": 0, + "branch": 18, + "class": 5, + "linearIndex": 113, + "address": "0xf85ac33Ca542011da5b35299Bd2Bf1B6924d8904", + "cellId": "EI-L00-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B18-C5" + }, + { + "lpbca": 0, + "branch": 19, + "class": 0, + "linearIndex": 114, + "address": "0x64c0E224F5376A574612b13a4284F8beE8211894", + "cellId": "EI-L00-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B19-C0" + }, + { + "lpbca": 0, + "branch": 19, + "class": 1, + "linearIndex": 115, + "address": "0xc1E770a19eC448611Ab3da0be6930acf857cdF89", + "cellId": "EI-L00-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B19-C1" + }, + { + "lpbca": 0, + "branch": 19, + "class": 2, + "linearIndex": 116, + "address": "0x41c07CDE645523B6B33cb9f3e87fA1Df0e850c45", + "cellId": "EI-L00-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B19-C2" + }, + { + "lpbca": 0, + "branch": 19, + "class": 3, + "linearIndex": 117, + "address": "0x093bBa89a2A65EfDC716A01eda4d34b97fe4015c", + "cellId": "EI-L00-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B19-C3" + }, + { + "lpbca": 0, + "branch": 19, + "class": 4, + "linearIndex": 118, + "address": "0x3906A740E04e2aA348c4D8cd8b6f5475FccC063A", + "cellId": "EI-L00-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B19-C4" + }, + { + "lpbca": 0, + "branch": 19, + "class": 5, + "linearIndex": 119, + "address": "0xe70fC0d749C35D18a81E71E418ffCDa0fC53e361", + "cellId": "EI-L00-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B19-C5" + }, + { + "lpbca": 0, + "branch": 20, + "class": 0, + "linearIndex": 120, + "address": "0xd63F7BA2807171B76E5720Ae53c96bcA9E23c872", + "cellId": "EI-L00-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B20-C0" + }, + { + "lpbca": 0, + "branch": 20, + "class": 1, + "linearIndex": 121, + "address": "0x9193a41C1763F06D2ae525808C1EdcE57C415081", + "cellId": "EI-L00-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B20-C1" + }, + { + "lpbca": 0, + "branch": 20, + "class": 2, + "linearIndex": 122, + "address": "0x59F9EF51714044E16c8dCf60Ca150F1f6563DC22", + "cellId": "EI-L00-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B20-C2" + }, + { + "lpbca": 0, + "branch": 20, + "class": 3, + "linearIndex": 123, + "address": "0x53Ae3a62C70063F3588f3504c5061bA93E351DA1", + "cellId": "EI-L00-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B20-C3" + }, + { + "lpbca": 0, + "branch": 20, + "class": 4, + "linearIndex": 124, + "address": "0x71e449eD2AFBD1e2A9093Ef5e3f3a6db4611Ad60", + "cellId": "EI-L00-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B20-C4" + }, + { + "lpbca": 0, + "branch": 20, + "class": 5, + "linearIndex": 125, + "address": "0x32032C09E65e94EAfc58Ee8573a5045438dd68c2", + "cellId": "EI-L00-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B20-C5" + }, + { + "lpbca": 0, + "branch": 21, + "class": 0, + "linearIndex": 126, + "address": "0x05FD1FB0216F860b7c03453C2Dd28dc56134A11D", + "cellId": "EI-L00-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B21-C0" + }, + { + "lpbca": 0, + "branch": 21, + "class": 1, + "linearIndex": 127, + "address": "0xC4Da84417e346B43bA118cedc459BF98e451ae7C", + "cellId": "EI-L00-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B21-C1" + }, + { + "lpbca": 0, + "branch": 21, + "class": 2, + "linearIndex": 128, + "address": "0x00AaEea4823648444C1e97B0382d21965d0fBc09", + "cellId": "EI-L00-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B21-C2" + }, + { + "lpbca": 0, + "branch": 21, + "class": 3, + "linearIndex": 129, + "address": "0x04E1c2c8836bc3c1C76Ba91070fbDCE027B586ed", + "cellId": "EI-L00-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B21-C3" + }, + { + "lpbca": 0, + "branch": 21, + "class": 4, + "linearIndex": 130, + "address": "0xd1B1C6F926b4cBb292646454Dd70653D2026aC62", + "cellId": "EI-L00-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B21-C4" + }, + { + "lpbca": 0, + "branch": 21, + "class": 5, + "linearIndex": 131, + "address": "0x84a10E9A5202Bc8F6D01D28dB146caEB8Ad9FDdd", + "cellId": "EI-L00-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B21-C5" + }, + { + "lpbca": 0, + "branch": 22, + "class": 0, + "linearIndex": 132, + "address": "0xA23fc0032f75EFCc9f9530f77B561774da26dbBc", + "cellId": "EI-L00-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B22-C0" + }, + { + "lpbca": 0, + "branch": 22, + "class": 1, + "linearIndex": 133, + "address": "0x4C6ACFeE10814E40776EE9F361a300C43570443E", + "cellId": "EI-L00-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B22-C1" + }, + { + "lpbca": 0, + "branch": 22, + "class": 2, + "linearIndex": 134, + "address": "0xaC925C5cf9c691478218B80AABf15C8d05d6C450", + "cellId": "EI-L00-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B22-C2" + }, + { + "lpbca": 0, + "branch": 22, + "class": 3, + "linearIndex": 135, + "address": "0xb4c6Fc28078c66fec8478da6e9C289216682b86E", + "cellId": "EI-L00-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B22-C3" + }, + { + "lpbca": 0, + "branch": 22, + "class": 4, + "linearIndex": 136, + "address": "0x99AcDA8a47cbDEcC542D9972327f7fb28ECADB97", + "cellId": "EI-L00-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B22-C4" + }, + { + "lpbca": 0, + "branch": 22, + "class": 5, + "linearIndex": 137, + "address": "0x19394C5eb0E76141aE7AC8472E3EbFFe8D45dEE1", + "cellId": "EI-L00-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B22-C5" + }, + { + "lpbca": 0, + "branch": 23, + "class": 0, + "linearIndex": 138, + "address": "0xf55E70afD0c8Df860b5f40ec24acA392F03692Af", + "cellId": "EI-L00-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B23-C0" + }, + { + "lpbca": 0, + "branch": 23, + "class": 1, + "linearIndex": 139, + "address": "0x75929cC2193378983564387dAE616479a34Be936", + "cellId": "EI-L00-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B23-C1" + }, + { + "lpbca": 0, + "branch": 23, + "class": 2, + "linearIndex": 140, + "address": "0x2244ddfBA009633F1FFE847754B6D0F2198B7CcB", + "cellId": "EI-L00-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B23-C2" + }, + { + "lpbca": 0, + "branch": 23, + "class": 3, + "linearIndex": 141, + "address": "0x9eFFf4B1dc4E31Cc42BA47dC3dD4823d4622b324", + "cellId": "EI-L00-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B23-C3" + }, + { + "lpbca": 0, + "branch": 23, + "class": 4, + "linearIndex": 142, + "address": "0xd883592482a64A6c06A2afCb2c973d213F12165B", + "cellId": "EI-L00-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B23-C4" + }, + { + "lpbca": 0, + "branch": 23, + "class": 5, + "linearIndex": 143, + "address": "0x0209eD2d6dEcA5C238779788A8c5a1D3899Cfa18", + "cellId": "EI-L00-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B23-C5" + }, + { + "lpbca": 0, + "branch": 24, + "class": 0, + "linearIndex": 144, + "address": "0x9178516A94fda5cAcc237e5143d11e01f6528275", + "cellId": "EI-L00-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B24-C0" + }, + { + "lpbca": 0, + "branch": 24, + "class": 1, + "linearIndex": 145, + "address": "0x5A73400B5EbBFce9722E6a83e6Fd154810952CDa", + "cellId": "EI-L00-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B24-C1" + }, + { + "lpbca": 0, + "branch": 24, + "class": 2, + "linearIndex": 146, + "address": "0x7ca4D7716abf44087883FEC8AEA2765c09E00202", + "cellId": "EI-L00-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B24-C2" + }, + { + "lpbca": 0, + "branch": 24, + "class": 3, + "linearIndex": 147, + "address": "0x95e42Fc277a54AD7a3fa1df3eEca8B7634AA1baF", + "cellId": "EI-L00-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B24-C3" + }, + { + "lpbca": 0, + "branch": 24, + "class": 4, + "linearIndex": 148, + "address": "0xb96B644Ce0a984d215D1513A380538db7309F2Cb", + "cellId": "EI-L00-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B24-C4" + }, + { + "lpbca": 0, + "branch": 24, + "class": 5, + "linearIndex": 149, + "address": "0x80973DAE864638E1D352913BdB8704C1d27eF178", + "cellId": "EI-L00-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B24-C5" + }, + { + "lpbca": 0, + "branch": 25, + "class": 0, + "linearIndex": 150, + "address": "0xe371E9521f3dC41C26951b2619C89a59Ef6C18dE", + "cellId": "EI-L00-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B25-C0" + }, + { + "lpbca": 0, + "branch": 25, + "class": 1, + "linearIndex": 151, + "address": "0x7a725f5E84DDfB9d94bb3440c896c7cB46f21EF9", + "cellId": "EI-L00-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B25-C1" + }, + { + "lpbca": 0, + "branch": 25, + "class": 2, + "linearIndex": 152, + "address": "0xdD843D4eDF41ad435FA3D8b52B1b39a75F2547E3", + "cellId": "EI-L00-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B25-C2" + }, + { + "lpbca": 0, + "branch": 25, + "class": 3, + "linearIndex": 153, + "address": "0x3DaA118F2F139849451DC2B83D258bB5Ebdc424F", + "cellId": "EI-L00-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B25-C3" + }, + { + "lpbca": 0, + "branch": 25, + "class": 4, + "linearIndex": 154, + "address": "0xA8f023D9db9596F4223632683630bd8782f8bbc0", + "cellId": "EI-L00-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B25-C4" + }, + { + "lpbca": 0, + "branch": 25, + "class": 5, + "linearIndex": 155, + "address": "0x89bD5E9F758781b73C6F2A287B881FCa50d5a4A9", + "cellId": "EI-L00-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B25-C5" + }, + { + "lpbca": 0, + "branch": 26, + "class": 0, + "linearIndex": 156, + "address": "0x0cC7fc87c34d44cb1806F0AA32fD6Eef3C283c42", + "cellId": "EI-L00-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B26-C0" + }, + { + "lpbca": 0, + "branch": 26, + "class": 1, + "linearIndex": 157, + "address": "0xCEba2D96eE8588632240a1EA9Ee4Abc790f07F4D", + "cellId": "EI-L00-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B26-C1" + }, + { + "lpbca": 0, + "branch": 26, + "class": 2, + "linearIndex": 158, + "address": "0x47a28912b342B513E019F2635932226bb7d4cf34", + "cellId": "EI-L00-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B26-C2" + }, + { + "lpbca": 0, + "branch": 26, + "class": 3, + "linearIndex": 159, + "address": "0x8947162cd8d73281A3625524a09dE8CBBB31f650", + "cellId": "EI-L00-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B26-C3" + }, + { + "lpbca": 0, + "branch": 26, + "class": 4, + "linearIndex": 160, + "address": "0x76eBf0737caE8C2cDC069a0E655E57d846a8858F", + "cellId": "EI-L00-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B26-C4" + }, + { + "lpbca": 0, + "branch": 26, + "class": 5, + "linearIndex": 161, + "address": "0xa990239A8ff1613B877Cf96DC5024d2056AFFE1B", + "cellId": "EI-L00-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B26-C5" + }, + { + "lpbca": 0, + "branch": 27, + "class": 0, + "linearIndex": 162, + "address": "0x6ce808503713e89910aBC948cCAae8fa8732896E", + "cellId": "EI-L00-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B27-C0" + }, + { + "lpbca": 0, + "branch": 27, + "class": 1, + "linearIndex": 163, + "address": "0x1dBF970D25e9A3D28952190096dc0DCe9F7297Fa", + "cellId": "EI-L00-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B27-C1" + }, + { + "lpbca": 0, + "branch": 27, + "class": 2, + "linearIndex": 164, + "address": "0x4d45388C53c41c6A17C8c6eC45E7ACD9d596723a", + "cellId": "EI-L00-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B27-C2" + }, + { + "lpbca": 0, + "branch": 27, + "class": 3, + "linearIndex": 165, + "address": "0x78fAc53a9FC98B7D32AB2E75793Eb5A8451c7f14", + "cellId": "EI-L00-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B27-C3" + }, + { + "lpbca": 0, + "branch": 27, + "class": 4, + "linearIndex": 166, + "address": "0x9497a9206B5B08F90f2d1eEa251C18C32772D0fA", + "cellId": "EI-L00-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B27-C4" + }, + { + "lpbca": 0, + "branch": 27, + "class": 5, + "linearIndex": 167, + "address": "0xE1fDf7475C424Bc15D7081A98cA5818d27606De8", + "cellId": "EI-L00-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B27-C5" + }, + { + "lpbca": 0, + "branch": 28, + "class": 0, + "linearIndex": 168, + "address": "0xacfF612D491d6ca5eBA127DA7bc5665778D2cA8A", + "cellId": "EI-L00-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B28-C0" + }, + { + "lpbca": 0, + "branch": 28, + "class": 1, + "linearIndex": 169, + "address": "0xb5F0BeF5d846E7211504e5a9221D7D35ECAa8D59", + "cellId": "EI-L00-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B28-C1" + }, + { + "lpbca": 0, + "branch": 28, + "class": 2, + "linearIndex": 170, + "address": "0x61DbFB93461840807B10Aee3DeC6AE4C6541A2a8", + "cellId": "EI-L00-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B28-C2" + }, + { + "lpbca": 0, + "branch": 28, + "class": 3, + "linearIndex": 171, + "address": "0x3485191D7331A8aA4C77F93DD32e3bEe911c9d55", + "cellId": "EI-L00-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B28-C3" + }, + { + "lpbca": 0, + "branch": 28, + "class": 4, + "linearIndex": 172, + "address": "0xA7c84f989EF054Dd717c0Ba6A4995eEe7dDb632B", + "cellId": "EI-L00-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B28-C4" + }, + { + "lpbca": 0, + "branch": 28, + "class": 5, + "linearIndex": 173, + "address": "0x2788AFfe1D2fafC7E010f27e6F11628B40FB6268", + "cellId": "EI-L00-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B28-C5" + }, + { + "lpbca": 0, + "branch": 29, + "class": 0, + "linearIndex": 174, + "address": "0xaA5B14760197E1db7413a31Cf01909C89D84cA7b", + "cellId": "EI-L00-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B29-C0" + }, + { + "lpbca": 0, + "branch": 29, + "class": 1, + "linearIndex": 175, + "address": "0x972bE4C27Eedbe5628128A7d4f57F2E5E34BD547", + "cellId": "EI-L00-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B29-C1" + }, + { + "lpbca": 0, + "branch": 29, + "class": 2, + "linearIndex": 176, + "address": "0x932bF27CfB4E16Eef4d7bF22045b3B31678b8e51", + "cellId": "EI-L00-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B29-C2" + }, + { + "lpbca": 0, + "branch": 29, + "class": 3, + "linearIndex": 177, + "address": "0x94494148c27575c5e9D66d0165c3fF9d2cBc043d", + "cellId": "EI-L00-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B29-C3" + }, + { + "lpbca": 0, + "branch": 29, + "class": 4, + "linearIndex": 178, + "address": "0x6536B300D56F3968b9B9786ce62C2d20BB5d2822", + "cellId": "EI-L00-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B29-C4" + }, + { + "lpbca": 0, + "branch": 29, + "class": 5, + "linearIndex": 179, + "address": "0xc4d6CA3724aDa7d0C60cD3604b3fD3dcAd66feBc", + "cellId": "EI-L00-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B29-C5" + }, + { + "lpbca": 0, + "branch": 30, + "class": 0, + "linearIndex": 180, + "address": "0x125171180c980BdBb1Be51922A027094EA3Ca4f1", + "cellId": "EI-L00-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B30-C0" + }, + { + "lpbca": 0, + "branch": 30, + "class": 1, + "linearIndex": 181, + "address": "0x4324B3e1000A6275d559B4A6237Aaf81ff85f88e", + "cellId": "EI-L00-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B30-C1" + }, + { + "lpbca": 0, + "branch": 30, + "class": 2, + "linearIndex": 182, + "address": "0xc4952b2204E3FE59C49dc48B5839eF9cecBd4502", + "cellId": "EI-L00-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B30-C2" + }, + { + "lpbca": 0, + "branch": 30, + "class": 3, + "linearIndex": 183, + "address": "0x187cC8f08dB0D46f6552E5391e6eAb49F7B76d1b", + "cellId": "EI-L00-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B30-C3" + }, + { + "lpbca": 0, + "branch": 30, + "class": 4, + "linearIndex": 184, + "address": "0x3689C62E1568C6aeB2044d4f0a2058fd2f18db71", + "cellId": "EI-L00-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B30-C4" + }, + { + "lpbca": 0, + "branch": 30, + "class": 5, + "linearIndex": 185, + "address": "0x7B80e95Ce13953A984E871Ed4b7D3ee75543b5eC", + "cellId": "EI-L00-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B30-C5" + }, + { + "lpbca": 0, + "branch": 31, + "class": 0, + "linearIndex": 186, + "address": "0x0fA23B914f802f27F198b5D45c3C5745c99f9432", + "cellId": "EI-L00-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B31-C0" + }, + { + "lpbca": 0, + "branch": 31, + "class": 1, + "linearIndex": 187, + "address": "0xa6F16C2d3043f22d00bEE02AFAe817bbAbBD8615", + "cellId": "EI-L00-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B31-C1" + }, + { + "lpbca": 0, + "branch": 31, + "class": 2, + "linearIndex": 188, + "address": "0x0161283838b3Bd08228A137D6517E108dcf91b3C", + "cellId": "EI-L00-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B31-C2" + }, + { + "lpbca": 0, + "branch": 31, + "class": 3, + "linearIndex": 189, + "address": "0x32b77Fe9054dF0681DdF4096B106715260eb2ce4", + "cellId": "EI-L00-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B31-C3" + }, + { + "lpbca": 0, + "branch": 31, + "class": 4, + "linearIndex": 190, + "address": "0x6baAEd49994D8f6167b47E63710164cAa1ea240C", + "cellId": "EI-L00-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B31-C4" + }, + { + "lpbca": 0, + "branch": 31, + "class": 5, + "linearIndex": 191, + "address": "0xedba4F474145C1df24DA6E7D6845B651bab3e839", + "cellId": "EI-L00-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B31-C5" + }, + { + "lpbca": 0, + "branch": 32, + "class": 0, + "linearIndex": 192, + "address": "0x7811b9a5Efb18E2502D2f72b21c742ad7F34dF34", + "cellId": "EI-L00-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B32-C0" + }, + { + "lpbca": 0, + "branch": 32, + "class": 1, + "linearIndex": 193, + "address": "0x73aE5F46C8006AC90222d3A37F87aF1dF28447e5", + "cellId": "EI-L00-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B32-C1" + }, + { + "lpbca": 0, + "branch": 32, + "class": 2, + "linearIndex": 194, + "address": "0x9afe18A8FbbfaBa7A16b19018702014764f6f187", + "cellId": "EI-L00-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B32-C2" + }, + { + "lpbca": 0, + "branch": 32, + "class": 3, + "linearIndex": 195, + "address": "0x1Eda7AA7079320FFC38655B547D4867BbBa69679", + "cellId": "EI-L00-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B32-C3" + }, + { + "lpbca": 0, + "branch": 32, + "class": 4, + "linearIndex": 196, + "address": "0x4772399A04E67D679b12aa2326433eD51505c8a4", + "cellId": "EI-L00-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B32-C4" + }, + { + "lpbca": 0, + "branch": 32, + "class": 5, + "linearIndex": 197, + "address": "0xDda67a6C0D769095B278D8fA66E61272F739d776", + "cellId": "EI-L00-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L00-B32-C5" + }, + { + "lpbca": 1, + "branch": 0, + "class": 0, + "linearIndex": 198, + "address": "0x9fC851e80d41b1a85702a490Ef46e79Bf5A32646", + "cellId": "EI-L01-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B00-C0" + }, + { + "lpbca": 1, + "branch": 0, + "class": 1, + "linearIndex": 199, + "address": "0x685E2bd3F32737e34DE38cB98f9F7d4C1215E994", + "cellId": "EI-L01-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B00-C1" + }, + { + "lpbca": 1, + "branch": 0, + "class": 2, + "linearIndex": 200, + "address": "0x2ccDC9267d78ADFaA53Aaf428A558342a5331Fcb", + "cellId": "EI-L01-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B00-C2" + }, + { + "lpbca": 1, + "branch": 0, + "class": 3, + "linearIndex": 201, + "address": "0x89B34cd4beF98608ED69e2120d99eD97Fd3c189a", + "cellId": "EI-L01-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B00-C3" + }, + { + "lpbca": 1, + "branch": 0, + "class": 4, + "linearIndex": 202, + "address": "0xdbAB1193E320d239853633fF72B64a44ce6AB70E", + "cellId": "EI-L01-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B00-C4" + }, + { + "lpbca": 1, + "branch": 0, + "class": 5, + "linearIndex": 203, + "address": "0xD6b536c7C6A15AA95D5Cda79B825d4E2F28e44Dc", + "cellId": "EI-L01-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B00-C5" + }, + { + "lpbca": 1, + "branch": 1, + "class": 0, + "linearIndex": 204, + "address": "0x664e7a6FFa13D319dB9c3Ca26c61aaa605CBF006", + "cellId": "EI-L01-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B01-C0" + }, + { + "lpbca": 1, + "branch": 1, + "class": 1, + "linearIndex": 205, + "address": "0xE125C88a2d599b7f9e5f84b9192DcD03Dc626bcD", + "cellId": "EI-L01-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B01-C1" + }, + { + "lpbca": 1, + "branch": 1, + "class": 2, + "linearIndex": 206, + "address": "0xDC7f694977078ea72d962ee48B24299CB1891916", + "cellId": "EI-L01-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B01-C2" + }, + { + "lpbca": 1, + "branch": 1, + "class": 3, + "linearIndex": 207, + "address": "0x5109992E29796FBfF711eAe6755bcC54df013f1a", + "cellId": "EI-L01-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B01-C3" + }, + { + "lpbca": 1, + "branch": 1, + "class": 4, + "linearIndex": 208, + "address": "0x1dDBB6e44566143071E2342CA4a741e7cB712A9b", + "cellId": "EI-L01-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B01-C4" + }, + { + "lpbca": 1, + "branch": 1, + "class": 5, + "linearIndex": 209, + "address": "0x150a03026Eae78957358A59559F2Fbe596900A82", + "cellId": "EI-L01-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B01-C5" + }, + { + "lpbca": 1, + "branch": 2, + "class": 0, + "linearIndex": 210, + "address": "0x0aE9c48EDfDE63E7E508fC3De97C008b118521b1", + "cellId": "EI-L01-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B02-C0" + }, + { + "lpbca": 1, + "branch": 2, + "class": 1, + "linearIndex": 211, + "address": "0x9C5B03F68f8670df915478409C9374cfA71A05C7", + "cellId": "EI-L01-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B02-C1" + }, + { + "lpbca": 1, + "branch": 2, + "class": 2, + "linearIndex": 212, + "address": "0x29cB36006633C8dE6f5B506e369B50DE2aEAE064", + "cellId": "EI-L01-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B02-C2" + }, + { + "lpbca": 1, + "branch": 2, + "class": 3, + "linearIndex": 213, + "address": "0x86C07915C40DD2b0100bF07e3Fd1D072975A5ff6", + "cellId": "EI-L01-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B02-C3" + }, + { + "lpbca": 1, + "branch": 2, + "class": 4, + "linearIndex": 214, + "address": "0x6Bd7f4138c25A49bA7D345E8AE01ca972739E1bC", + "cellId": "EI-L01-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B02-C4" + }, + { + "lpbca": 1, + "branch": 2, + "class": 5, + "linearIndex": 215, + "address": "0x26344aA206aE60174225e809C2cDE906ab24fa6A", + "cellId": "EI-L01-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B02-C5" + }, + { + "lpbca": 1, + "branch": 3, + "class": 0, + "linearIndex": 216, + "address": "0x7921a54d0fa5Ba831683Ef329C092a8C9A60d50d", + "cellId": "EI-L01-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B03-C0" + }, + { + "lpbca": 1, + "branch": 3, + "class": 1, + "linearIndex": 217, + "address": "0xd31E64d4aB0934CD8128a749D4Dce207c9B073C1", + "cellId": "EI-L01-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B03-C1" + }, + { + "lpbca": 1, + "branch": 3, + "class": 2, + "linearIndex": 218, + "address": "0x6f477A8B1965221e9B9df4BdD2d510bB9786CAbA", + "cellId": "EI-L01-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B03-C2" + }, + { + "lpbca": 1, + "branch": 3, + "class": 3, + "linearIndex": 219, + "address": "0x81537136bC12f928E5e802aBFb07b1F4E17E6cbA", + "cellId": "EI-L01-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B03-C3" + }, + { + "lpbca": 1, + "branch": 3, + "class": 4, + "linearIndex": 220, + "address": "0xBc08E366A64800A2f3e758e2cF66822b70f35892", + "cellId": "EI-L01-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B03-C4" + }, + { + "lpbca": 1, + "branch": 3, + "class": 5, + "linearIndex": 221, + "address": "0x68e43EeFDc7936C111D49408Fa805c4F9869365B", + "cellId": "EI-L01-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B03-C5" + }, + { + "lpbca": 1, + "branch": 4, + "class": 0, + "linearIndex": 222, + "address": "0x6aca9e46D5c6b25612cC3A889de14331b90769d9", + "cellId": "EI-L01-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B04-C0" + }, + { + "lpbca": 1, + "branch": 4, + "class": 1, + "linearIndex": 223, + "address": "0xbc9A4E85c221B902b24DA49594F96c2bac9F7908", + "cellId": "EI-L01-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B04-C1" + }, + { + "lpbca": 1, + "branch": 4, + "class": 2, + "linearIndex": 224, + "address": "0x2650626A8E79Ffe34Ed2F22F568D9c9681E4d23f", + "cellId": "EI-L01-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B04-C2" + }, + { + "lpbca": 1, + "branch": 4, + "class": 3, + "linearIndex": 225, + "address": "0xB5dB69A81b534Fb0927954D111BdE59FDDDEc51c", + "cellId": "EI-L01-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B04-C3" + }, + { + "lpbca": 1, + "branch": 4, + "class": 4, + "linearIndex": 226, + "address": "0xF5729675160C20938f9Ec07F7FaA9031b0da12ad", + "cellId": "EI-L01-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B04-C4" + }, + { + "lpbca": 1, + "branch": 4, + "class": 5, + "linearIndex": 227, + "address": "0x5AEE95BaC337C5714BfaD1BFAbd3F0353a5F8AeD", + "cellId": "EI-L01-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B04-C5" + }, + { + "lpbca": 1, + "branch": 5, + "class": 0, + "linearIndex": 228, + "address": "0x042142e78A7E066d82E159Dc7F970eF214666728", + "cellId": "EI-L01-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B05-C0" + }, + { + "lpbca": 1, + "branch": 5, + "class": 1, + "linearIndex": 229, + "address": "0x15104acb9e53AC9ebFCF5Fe7a0F512a445e516e1", + "cellId": "EI-L01-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B05-C1" + }, + { + "lpbca": 1, + "branch": 5, + "class": 2, + "linearIndex": 230, + "address": "0x35Fe9F4c9E390D13398Ce999154c5Ebda42e2d3e", + "cellId": "EI-L01-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B05-C2" + }, + { + "lpbca": 1, + "branch": 5, + "class": 3, + "linearIndex": 231, + "address": "0xbb643a507589e0a8fEe7336f5B0Af2F91afB2F57", + "cellId": "EI-L01-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B05-C3" + }, + { + "lpbca": 1, + "branch": 5, + "class": 4, + "linearIndex": 232, + "address": "0x0b46B363BfC55C1E032cDF2aB1803747Ea32A8c2", + "cellId": "EI-L01-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B05-C4" + }, + { + "lpbca": 1, + "branch": 5, + "class": 5, + "linearIndex": 233, + "address": "0x3964DC45f30BA8dc7824685c5adEbECD9595693B", + "cellId": "EI-L01-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B05-C5" + }, + { + "lpbca": 1, + "branch": 6, + "class": 0, + "linearIndex": 234, + "address": "0xd1F6141eA7F93890f36fb0103A94DFC0076B7068", + "cellId": "EI-L01-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B06-C0" + }, + { + "lpbca": 1, + "branch": 6, + "class": 1, + "linearIndex": 235, + "address": "0xDC5Bc338702da37E18e0292186f0499F80Bc3324", + "cellId": "EI-L01-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B06-C1" + }, + { + "lpbca": 1, + "branch": 6, + "class": 2, + "linearIndex": 236, + "address": "0x8CA4FEE265DEC913Bd8FA30280BDc45d8E18Cee2", + "cellId": "EI-L01-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B06-C2" + }, + { + "lpbca": 1, + "branch": 6, + "class": 3, + "linearIndex": 237, + "address": "0xdC91A5d053c6d7017aFEAFdbfF96cb7d427174F2", + "cellId": "EI-L01-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B06-C3" + }, + { + "lpbca": 1, + "branch": 6, + "class": 4, + "linearIndex": 238, + "address": "0xe752b5a24218EB1563F7C4F828285876e3C18F5d", + "cellId": "EI-L01-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B06-C4" + }, + { + "lpbca": 1, + "branch": 6, + "class": 5, + "linearIndex": 239, + "address": "0x445F1c1F720b7D58D1dD5dAA01394099e8c58E2A", + "cellId": "EI-L01-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B06-C5" + }, + { + "lpbca": 1, + "branch": 7, + "class": 0, + "linearIndex": 240, + "address": "0x2803664b878abc6A1b6cF17B3C08A9fEF05A8EFE", + "cellId": "EI-L01-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B07-C0" + }, + { + "lpbca": 1, + "branch": 7, + "class": 1, + "linearIndex": 241, + "address": "0xa33F6E785F4Dd3A94Da772825a3517A390Ef8FF9", + "cellId": "EI-L01-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B07-C1" + }, + { + "lpbca": 1, + "branch": 7, + "class": 2, + "linearIndex": 242, + "address": "0x2F3a7E957c0e3FfD83BF1ea5170485cca7EA2319", + "cellId": "EI-L01-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B07-C2" + }, + { + "lpbca": 1, + "branch": 7, + "class": 3, + "linearIndex": 243, + "address": "0x8Ed1ad2D47d0F9026bdBBdafD45AcE0e8940e117", + "cellId": "EI-L01-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B07-C3" + }, + { + "lpbca": 1, + "branch": 7, + "class": 4, + "linearIndex": 244, + "address": "0xB150B26D36A02A7f3a7BF6302ea6F46a4059988a", + "cellId": "EI-L01-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B07-C4" + }, + { + "lpbca": 1, + "branch": 7, + "class": 5, + "linearIndex": 245, + "address": "0x98F960451513F8b6aAD1f5B32EAAB3f78773dA82", + "cellId": "EI-L01-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B07-C5" + }, + { + "lpbca": 1, + "branch": 8, + "class": 0, + "linearIndex": 246, + "address": "0xF68FFbae3A83D8b8Aa7A5DfAc87F650eD9757587", + "cellId": "EI-L01-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B08-C0" + }, + { + "lpbca": 1, + "branch": 8, + "class": 1, + "linearIndex": 247, + "address": "0xF5C37A5CA8d12331939df0106223c5cCf8fcf8B4", + "cellId": "EI-L01-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B08-C1" + }, + { + "lpbca": 1, + "branch": 8, + "class": 2, + "linearIndex": 248, + "address": "0xA2e59287a2f312aBB9bA68e24212716b6Ac72f8b", + "cellId": "EI-L01-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B08-C2" + }, + { + "lpbca": 1, + "branch": 8, + "class": 3, + "linearIndex": 249, + "address": "0xe546E8a824FeCa3C12dFB5451293d237C0fC5a99", + "cellId": "EI-L01-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B08-C3" + }, + { + "lpbca": 1, + "branch": 8, + "class": 4, + "linearIndex": 250, + "address": "0x8002D2FAB1Fb10cb36eEd8ADE2939091Cb743040", + "cellId": "EI-L01-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B08-C4" + }, + { + "lpbca": 1, + "branch": 8, + "class": 5, + "linearIndex": 251, + "address": "0x2e6dC6485A95ef467f180F18d1110D4eEfe303bd", + "cellId": "EI-L01-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B08-C5" + }, + { + "lpbca": 1, + "branch": 9, + "class": 0, + "linearIndex": 252, + "address": "0xc59AA41f57685bc776ff643fD92FB68e357A1167", + "cellId": "EI-L01-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B09-C0" + }, + { + "lpbca": 1, + "branch": 9, + "class": 1, + "linearIndex": 253, + "address": "0xafeDe90aD6e9967bCb7448959BCB7bCEaFd0534b", + "cellId": "EI-L01-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B09-C1" + }, + { + "lpbca": 1, + "branch": 9, + "class": 2, + "linearIndex": 254, + "address": "0x56E0F7006eDD56de58e9EC3094F253CD8c85eab7", + "cellId": "EI-L01-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B09-C2" + }, + { + "lpbca": 1, + "branch": 9, + "class": 3, + "linearIndex": 255, + "address": "0x2b1ff81C8Df9Ad4c9E9f27866B74Ff28512f83Bd", + "cellId": "EI-L01-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B09-C3" + }, + { + "lpbca": 1, + "branch": 9, + "class": 4, + "linearIndex": 256, + "address": "0x887Bacfd6FDa404b316E1Fff08dBEba1154A336c", + "cellId": "EI-L01-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B09-C4" + }, + { + "lpbca": 1, + "branch": 9, + "class": 5, + "linearIndex": 257, + "address": "0xEAA2f17f698102E067F8091c889161d1B3F4331D", + "cellId": "EI-L01-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B09-C5" + }, + { + "lpbca": 1, + "branch": 10, + "class": 0, + "linearIndex": 258, + "address": "0x1523e64377b9412064300619E894847536de550E", + "cellId": "EI-L01-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B10-C0" + }, + { + "lpbca": 1, + "branch": 10, + "class": 1, + "linearIndex": 259, + "address": "0x8A4F50eE8eD003dE6989E38C7EFb3f666dcAaBB9", + "cellId": "EI-L01-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B10-C1" + }, + { + "lpbca": 1, + "branch": 10, + "class": 2, + "linearIndex": 260, + "address": "0x03DC926AB70F01dA88c1dA0b76907f4587Eaa8b0", + "cellId": "EI-L01-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B10-C2" + }, + { + "lpbca": 1, + "branch": 10, + "class": 3, + "linearIndex": 261, + "address": "0x4A81f133962a75751ecAb675Ee758464abAB1615", + "cellId": "EI-L01-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B10-C3" + }, + { + "lpbca": 1, + "branch": 10, + "class": 4, + "linearIndex": 262, + "address": "0xf0B383bb2Ca4ebD05Cf51B4C8B5C5262E3c30aE3", + "cellId": "EI-L01-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B10-C4" + }, + { + "lpbca": 1, + "branch": 10, + "class": 5, + "linearIndex": 263, + "address": "0x2E5d703b1E6da80fdf5C00c83a2618e2d8bBDCfe", + "cellId": "EI-L01-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B10-C5" + }, + { + "lpbca": 1, + "branch": 11, + "class": 0, + "linearIndex": 264, + "address": "0x2baCf18202FC3B7a216a254414A1CF849d0646EC", + "cellId": "EI-L01-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B11-C0" + }, + { + "lpbca": 1, + "branch": 11, + "class": 1, + "linearIndex": 265, + "address": "0x443CB1505e4c5f0800Fe1aB8bfA1aAB9Ec50D0B7", + "cellId": "EI-L01-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B11-C1" + }, + { + "lpbca": 1, + "branch": 11, + "class": 2, + "linearIndex": 266, + "address": "0xf5e8D9eBf9285dc7035e4073D75705D6682b6fBE", + "cellId": "EI-L01-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B11-C2" + }, + { + "lpbca": 1, + "branch": 11, + "class": 3, + "linearIndex": 267, + "address": "0xBEc752c492fA2F8F8D3e5bac85B0EDd2f05D2F1e", + "cellId": "EI-L01-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B11-C3" + }, + { + "lpbca": 1, + "branch": 11, + "class": 4, + "linearIndex": 268, + "address": "0x8e58E4B8fF2B9F964ab069B19DD7D879BFd70ed6", + "cellId": "EI-L01-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B11-C4" + }, + { + "lpbca": 1, + "branch": 11, + "class": 5, + "linearIndex": 269, + "address": "0x174817B8F487bD94b2383335bD689d202363F8C4", + "cellId": "EI-L01-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B11-C5" + }, + { + "lpbca": 1, + "branch": 12, + "class": 0, + "linearIndex": 270, + "address": "0x8CCAd050753738f337dF1E9A9cf0D1955277894d", + "cellId": "EI-L01-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B12-C0" + }, + { + "lpbca": 1, + "branch": 12, + "class": 1, + "linearIndex": 271, + "address": "0x809b16B594e22fF1D300220D6782D3ef0fd17433", + "cellId": "EI-L01-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B12-C1" + }, + { + "lpbca": 1, + "branch": 12, + "class": 2, + "linearIndex": 272, + "address": "0xdd560B7bCfB464Bb15a0b37018d4c9d482CdCc35", + "cellId": "EI-L01-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B12-C2" + }, + { + "lpbca": 1, + "branch": 12, + "class": 3, + "linearIndex": 273, + "address": "0x1564bE27d82DdF2bd61D4deA8EA5406f28071DB0", + "cellId": "EI-L01-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B12-C3" + }, + { + "lpbca": 1, + "branch": 12, + "class": 4, + "linearIndex": 274, + "address": "0xDa2cD488a3f9645965BD5248178dea1Feaa30851", + "cellId": "EI-L01-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B12-C4" + }, + { + "lpbca": 1, + "branch": 12, + "class": 5, + "linearIndex": 275, + "address": "0xe465A6a6d4E33b34E6ADCb72FF1525330D37C52F", + "cellId": "EI-L01-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B12-C5" + }, + { + "lpbca": 1, + "branch": 13, + "class": 0, + "linearIndex": 276, + "address": "0x56Ea4788A819D21e488bFD78EeC720F09938c220", + "cellId": "EI-L01-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B13-C0" + }, + { + "lpbca": 1, + "branch": 13, + "class": 1, + "linearIndex": 277, + "address": "0x416e5e85bF0f46eF3da18E884886c4d4f779d9eB", + "cellId": "EI-L01-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B13-C1" + }, + { + "lpbca": 1, + "branch": 13, + "class": 2, + "linearIndex": 278, + "address": "0xe5925D8aA3A1b0108613240aa9c59cE8CDb9A815", + "cellId": "EI-L01-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B13-C2" + }, + { + "lpbca": 1, + "branch": 13, + "class": 3, + "linearIndex": 279, + "address": "0xeb1f9a98de22F2554F365552A2253A7b02C761A7", + "cellId": "EI-L01-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B13-C3" + }, + { + "lpbca": 1, + "branch": 13, + "class": 4, + "linearIndex": 280, + "address": "0x468626d9110c6affDa009bF45Cf01eFca9336Df5", + "cellId": "EI-L01-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B13-C4" + }, + { + "lpbca": 1, + "branch": 13, + "class": 5, + "linearIndex": 281, + "address": "0xE685ADf250Db39D3fD0BD5b5D2219fE27E9ef88e", + "cellId": "EI-L01-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B13-C5" + }, + { + "lpbca": 1, + "branch": 14, + "class": 0, + "linearIndex": 282, + "address": "0x7d91B23dc2D09111a1b43Ff33B2fAE4ab90e834c", + "cellId": "EI-L01-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B14-C0" + }, + { + "lpbca": 1, + "branch": 14, + "class": 1, + "linearIndex": 283, + "address": "0x09E129f3577Ecc2f03609c26BbcbE11924dDE12d", + "cellId": "EI-L01-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B14-C1" + }, + { + "lpbca": 1, + "branch": 14, + "class": 2, + "linearIndex": 284, + "address": "0xb05B4b2c7c82cB5aE89B06743Ab24E04333adee8", + "cellId": "EI-L01-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B14-C2" + }, + { + "lpbca": 1, + "branch": 14, + "class": 3, + "linearIndex": 285, + "address": "0xe0f522E757fA59b73fc2655F4FE8C0e5e0B38B7d", + "cellId": "EI-L01-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B14-C3" + }, + { + "lpbca": 1, + "branch": 14, + "class": 4, + "linearIndex": 286, + "address": "0xEc3b0a96ceDcF7e8f028345CF5A2550b2019458D", + "cellId": "EI-L01-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B14-C4" + }, + { + "lpbca": 1, + "branch": 14, + "class": 5, + "linearIndex": 287, + "address": "0x870542C30d4fd53e3333F099AEcDCD680098D651", + "cellId": "EI-L01-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B14-C5" + }, + { + "lpbca": 1, + "branch": 15, + "class": 0, + "linearIndex": 288, + "address": "0xdb613505a6616dcbBc7146d17Eb56c681250F0Dd", + "cellId": "EI-L01-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B15-C0" + }, + { + "lpbca": 1, + "branch": 15, + "class": 1, + "linearIndex": 289, + "address": "0xe00D50033f04547C2f6B5F45bE5460eF1464b606", + "cellId": "EI-L01-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B15-C1" + }, + { + "lpbca": 1, + "branch": 15, + "class": 2, + "linearIndex": 290, + "address": "0x5900f532Dea9b4f12A5DA53C77CE9417F4fDB909", + "cellId": "EI-L01-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B15-C2" + }, + { + "lpbca": 1, + "branch": 15, + "class": 3, + "linearIndex": 291, + "address": "0xe303F7D30F21B28f40374c0fDE34D3BE56029625", + "cellId": "EI-L01-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B15-C3" + }, + { + "lpbca": 1, + "branch": 15, + "class": 4, + "linearIndex": 292, + "address": "0x1937fed07EaAE044e48D804a5dFf8beE98229fA6", + "cellId": "EI-L01-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B15-C4" + }, + { + "lpbca": 1, + "branch": 15, + "class": 5, + "linearIndex": 293, + "address": "0xd283Eb344251412DbB96cBf85a40d17967dd0329", + "cellId": "EI-L01-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B15-C5" + }, + { + "lpbca": 1, + "branch": 16, + "class": 0, + "linearIndex": 294, + "address": "0x2509e6c489DBd801f0144eE9F35954e3Cb371c58", + "cellId": "EI-L01-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B16-C0" + }, + { + "lpbca": 1, + "branch": 16, + "class": 1, + "linearIndex": 295, + "address": "0x802E2545dbafe173E4aFE6b3f514217B904D7bF2", + "cellId": "EI-L01-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B16-C1" + }, + { + "lpbca": 1, + "branch": 16, + "class": 2, + "linearIndex": 296, + "address": "0x3470003155F3dC742270CABaDc6985246B256156", + "cellId": "EI-L01-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B16-C2" + }, + { + "lpbca": 1, + "branch": 16, + "class": 3, + "linearIndex": 297, + "address": "0x3355E52e4704a866f93271E56fF0739480f0eeD8", + "cellId": "EI-L01-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B16-C3" + }, + { + "lpbca": 1, + "branch": 16, + "class": 4, + "linearIndex": 298, + "address": "0x18082465D9dA19619901485c651961af67fCe161", + "cellId": "EI-L01-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B16-C4" + }, + { + "lpbca": 1, + "branch": 16, + "class": 5, + "linearIndex": 299, + "address": "0xd87f9C6D1626930DBe20Cdeb2296c9c773816bc3", + "cellId": "EI-L01-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B16-C5" + }, + { + "lpbca": 1, + "branch": 17, + "class": 0, + "linearIndex": 300, + "address": "0x828Cb7cc0895894e67a357A9B3318E48F4b33119", + "cellId": "EI-L01-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B17-C0" + }, + { + "lpbca": 1, + "branch": 17, + "class": 1, + "linearIndex": 301, + "address": "0x42214cf3522516a52c820F27508F1897c53162EF", + "cellId": "EI-L01-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B17-C1" + }, + { + "lpbca": 1, + "branch": 17, + "class": 2, + "linearIndex": 302, + "address": "0x9cb8c6767C7F72F73c93310Bcdef21E5Dc38377E", + "cellId": "EI-L01-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B17-C2" + }, + { + "lpbca": 1, + "branch": 17, + "class": 3, + "linearIndex": 303, + "address": "0xb1C1349F6d6CD3032A40Ce537c1E21385a45E977", + "cellId": "EI-L01-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B17-C3" + }, + { + "lpbca": 1, + "branch": 17, + "class": 4, + "linearIndex": 304, + "address": "0x0e7048258682c0eFdf37768953e48d8AE74ad650", + "cellId": "EI-L01-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B17-C4" + }, + { + "lpbca": 1, + "branch": 17, + "class": 5, + "linearIndex": 305, + "address": "0xE828492D3F5052a6D235f85aB10613E96EDF81c2", + "cellId": "EI-L01-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B17-C5" + }, + { + "lpbca": 1, + "branch": 18, + "class": 0, + "linearIndex": 306, + "address": "0x324e8D1464B1223830aa3B1076B1eE8dF1f59eC3", + "cellId": "EI-L01-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B18-C0" + }, + { + "lpbca": 1, + "branch": 18, + "class": 1, + "linearIndex": 307, + "address": "0xE948ec817a50A8a572608822393717b340196f58", + "cellId": "EI-L01-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B18-C1" + }, + { + "lpbca": 1, + "branch": 18, + "class": 2, + "linearIndex": 308, + "address": "0x26a5ad7a8B53e576C30De3Ee019e74CBfF0f3065", + "cellId": "EI-L01-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B18-C2" + }, + { + "lpbca": 1, + "branch": 18, + "class": 3, + "linearIndex": 309, + "address": "0xeC0dE9546b0c2dDF2Dd64b55e62237700CA42070", + "cellId": "EI-L01-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B18-C3" + }, + { + "lpbca": 1, + "branch": 18, + "class": 4, + "linearIndex": 310, + "address": "0x366eCe42d438716a97c03B3f0942efc26C87e5fc", + "cellId": "EI-L01-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B18-C4" + }, + { + "lpbca": 1, + "branch": 18, + "class": 5, + "linearIndex": 311, + "address": "0x983a5894e4F4cA2Ad14221663e8a8d9958d441d8", + "cellId": "EI-L01-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B18-C5" + }, + { + "lpbca": 1, + "branch": 19, + "class": 0, + "linearIndex": 312, + "address": "0x8d70f24f37739b80FcA761da2FDb707d68660CE5", + "cellId": "EI-L01-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B19-C0" + }, + { + "lpbca": 1, + "branch": 19, + "class": 1, + "linearIndex": 313, + "address": "0x4F824b13ABe9fd7488dbd0017086a3e7ea19f1ad", + "cellId": "EI-L01-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B19-C1" + }, + { + "lpbca": 1, + "branch": 19, + "class": 2, + "linearIndex": 314, + "address": "0xAbAc3323aB33ed6880dEb504b68F9A4421fd8c0B", + "cellId": "EI-L01-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B19-C2" + }, + { + "lpbca": 1, + "branch": 19, + "class": 3, + "linearIndex": 315, + "address": "0x25Db164CC28343CB7856D1A291A39555dc7536Cf", + "cellId": "EI-L01-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B19-C3" + }, + { + "lpbca": 1, + "branch": 19, + "class": 4, + "linearIndex": 316, + "address": "0x27D05a8A893E97d96f2283a552e5Be1Eb67E074b", + "cellId": "EI-L01-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B19-C4" + }, + { + "lpbca": 1, + "branch": 19, + "class": 5, + "linearIndex": 317, + "address": "0x1c36B482749b616E39f6Cd39e6cB0520f3C75417", + "cellId": "EI-L01-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B19-C5" + }, + { + "lpbca": 1, + "branch": 20, + "class": 0, + "linearIndex": 318, + "address": "0x34b2b2588027eC70fe88978073439f5728b961f6", + "cellId": "EI-L01-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B20-C0" + }, + { + "lpbca": 1, + "branch": 20, + "class": 1, + "linearIndex": 319, + "address": "0x2e61ff5d5015e94Ff54de3CD8BE52548C70639f2", + "cellId": "EI-L01-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B20-C1" + }, + { + "lpbca": 1, + "branch": 20, + "class": 2, + "linearIndex": 320, + "address": "0x402E93e1cdD5703E213BCDE1BF68DF73be5988bD", + "cellId": "EI-L01-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B20-C2" + }, + { + "lpbca": 1, + "branch": 20, + "class": 3, + "linearIndex": 321, + "address": "0x0a70e3bFdAA76fDd41A05534038B4231573827fe", + "cellId": "EI-L01-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B20-C3" + }, + { + "lpbca": 1, + "branch": 20, + "class": 4, + "linearIndex": 322, + "address": "0x8A64Bc391c26c4Ae3009058097e67da013D752E5", + "cellId": "EI-L01-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B20-C4" + }, + { + "lpbca": 1, + "branch": 20, + "class": 5, + "linearIndex": 323, + "address": "0xE19D42658D436D76D920A94cFe9851dE29adeDA6", + "cellId": "EI-L01-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B20-C5" + }, + { + "lpbca": 1, + "branch": 21, + "class": 0, + "linearIndex": 324, + "address": "0x0eB22A1d2c4151AE60CeDac91bBC856a8258c1Ae", + "cellId": "EI-L01-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B21-C0" + }, + { + "lpbca": 1, + "branch": 21, + "class": 1, + "linearIndex": 325, + "address": "0x5525E8f713b05Ff3a0dE5C8221181A9E3e5ae368", + "cellId": "EI-L01-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B21-C1" + }, + { + "lpbca": 1, + "branch": 21, + "class": 2, + "linearIndex": 326, + "address": "0x0396d3100879A8a86862c9383524298a5988544B", + "cellId": "EI-L01-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B21-C2" + }, + { + "lpbca": 1, + "branch": 21, + "class": 3, + "linearIndex": 327, + "address": "0x52721888F585Ee2637cD3A698BfBe2002D447df7", + "cellId": "EI-L01-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B21-C3" + }, + { + "lpbca": 1, + "branch": 21, + "class": 4, + "linearIndex": 328, + "address": "0x790953772398097B620bebaaB0d6ae049e81a84D", + "cellId": "EI-L01-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B21-C4" + }, + { + "lpbca": 1, + "branch": 21, + "class": 5, + "linearIndex": 329, + "address": "0xC27e0eBDE1Fe2a182610ceFFe971965C9321106E", + "cellId": "EI-L01-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B21-C5" + }, + { + "lpbca": 1, + "branch": 22, + "class": 0, + "linearIndex": 330, + "address": "0x6d527c05d2cB812252593116A8FAD815604148d9", + "cellId": "EI-L01-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B22-C0" + }, + { + "lpbca": 1, + "branch": 22, + "class": 1, + "linearIndex": 331, + "address": "0x3CAde98019a6eE94cf33d727CC7CC9e3E2eA303e", + "cellId": "EI-L01-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B22-C1" + }, + { + "lpbca": 1, + "branch": 22, + "class": 2, + "linearIndex": 332, + "address": "0x21F5E6394918f25EE5FC091B8B758D6a4e7cB8dc", + "cellId": "EI-L01-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B22-C2" + }, + { + "lpbca": 1, + "branch": 22, + "class": 3, + "linearIndex": 333, + "address": "0x962e4d5541983627D059ED7A9F0AdE2cb0C5f1B7", + "cellId": "EI-L01-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B22-C3" + }, + { + "lpbca": 1, + "branch": 22, + "class": 4, + "linearIndex": 334, + "address": "0xa933d36613534E792551E4c34dfdD575c6369A93", + "cellId": "EI-L01-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B22-C4" + }, + { + "lpbca": 1, + "branch": 22, + "class": 5, + "linearIndex": 335, + "address": "0xf34c33C68494d696F3800354c7D4670467623229", + "cellId": "EI-L01-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B22-C5" + }, + { + "lpbca": 1, + "branch": 23, + "class": 0, + "linearIndex": 336, + "address": "0x6363BF44924bB902E6aCF7B79885b0aAf1766Ca3", + "cellId": "EI-L01-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B23-C0" + }, + { + "lpbca": 1, + "branch": 23, + "class": 1, + "linearIndex": 337, + "address": "0xB27804d7EA6849eEEb25D1841A83014a37303523", + "cellId": "EI-L01-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B23-C1" + }, + { + "lpbca": 1, + "branch": 23, + "class": 2, + "linearIndex": 338, + "address": "0x14364080560Af003969067D3053F4f506298676c", + "cellId": "EI-L01-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B23-C2" + }, + { + "lpbca": 1, + "branch": 23, + "class": 3, + "linearIndex": 339, + "address": "0x54a3166DE548eFDe804f0E031C1837677201ae7C", + "cellId": "EI-L01-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B23-C3" + }, + { + "lpbca": 1, + "branch": 23, + "class": 4, + "linearIndex": 340, + "address": "0xbeAF80f9Cde58Bcda7C81a9F4ffe4C0Da0a8146b", + "cellId": "EI-L01-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B23-C4" + }, + { + "lpbca": 1, + "branch": 23, + "class": 5, + "linearIndex": 341, + "address": "0xAA342c1493617db858491ACCE9F2DC9D91bf8a2A", + "cellId": "EI-L01-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B23-C5" + }, + { + "lpbca": 1, + "branch": 24, + "class": 0, + "linearIndex": 342, + "address": "0x47d46C404f2EE0522c7239F8b4CB4e13C1D9369D", + "cellId": "EI-L01-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B24-C0" + }, + { + "lpbca": 1, + "branch": 24, + "class": 1, + "linearIndex": 343, + "address": "0x99BAC301d7537A98810437d76ECBD2E69FD0fC88", + "cellId": "EI-L01-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B24-C1" + }, + { + "lpbca": 1, + "branch": 24, + "class": 2, + "linearIndex": 344, + "address": "0xB23292fa272d4F17340270d8110bda70D59c9B7a", + "cellId": "EI-L01-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B24-C2" + }, + { + "lpbca": 1, + "branch": 24, + "class": 3, + "linearIndex": 345, + "address": "0x8708a54eF7B13EB2BA71BB73dD33BC5e1a28299c", + "cellId": "EI-L01-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B24-C3" + }, + { + "lpbca": 1, + "branch": 24, + "class": 4, + "linearIndex": 346, + "address": "0xa22465DbD8d0dA5200b2cDafEBA52Bc1bC5cdF6F", + "cellId": "EI-L01-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B24-C4" + }, + { + "lpbca": 1, + "branch": 24, + "class": 5, + "linearIndex": 347, + "address": "0x75178e6063f35Ae2E9DA124328f4841BbAb28B3b", + "cellId": "EI-L01-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B24-C5" + }, + { + "lpbca": 1, + "branch": 25, + "class": 0, + "linearIndex": 348, + "address": "0xa5d6CdD38e843aB6D58C71cC465eBcFB885ca3B6", + "cellId": "EI-L01-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B25-C0" + }, + { + "lpbca": 1, + "branch": 25, + "class": 1, + "linearIndex": 349, + "address": "0xfeC6D0DBe6366C9907536105Cf77Cc3823a825B6", + "cellId": "EI-L01-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B25-C1" + }, + { + "lpbca": 1, + "branch": 25, + "class": 2, + "linearIndex": 350, + "address": "0xAd7780A4E54cb04A3c5eAd45A1fa2c6b86F4Af9c", + "cellId": "EI-L01-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B25-C2" + }, + { + "lpbca": 1, + "branch": 25, + "class": 3, + "linearIndex": 351, + "address": "0x90c8ac17959a7b34C69d92B69Fb4ea32308558A8", + "cellId": "EI-L01-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B25-C3" + }, + { + "lpbca": 1, + "branch": 25, + "class": 4, + "linearIndex": 352, + "address": "0xE2880A3e4E4f1AB959CDFfB1b29E2e7944692545", + "cellId": "EI-L01-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B25-C4" + }, + { + "lpbca": 1, + "branch": 25, + "class": 5, + "linearIndex": 353, + "address": "0xE75205daCA6C33B0B6917051BbFe598306234144", + "cellId": "EI-L01-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B25-C5" + }, + { + "lpbca": 1, + "branch": 26, + "class": 0, + "linearIndex": 354, + "address": "0xeFEC4FFb76C7Fa054ee639871f99Df9A1E2339de", + "cellId": "EI-L01-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B26-C0" + }, + { + "lpbca": 1, + "branch": 26, + "class": 1, + "linearIndex": 355, + "address": "0x8886df5E29309f0544dEB255bfA5fa11F9D7A62e", + "cellId": "EI-L01-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B26-C1" + }, + { + "lpbca": 1, + "branch": 26, + "class": 2, + "linearIndex": 356, + "address": "0x924f6A3d375576a3b892aAC2D5DE17105E3d249d", + "cellId": "EI-L01-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B26-C2" + }, + { + "lpbca": 1, + "branch": 26, + "class": 3, + "linearIndex": 357, + "address": "0xf5E0D01F2100CEF0739250510F92541787b67A76", + "cellId": "EI-L01-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B26-C3" + }, + { + "lpbca": 1, + "branch": 26, + "class": 4, + "linearIndex": 358, + "address": "0x82969924095f02fA377dAF923e2dc58E1ef7CEB2", + "cellId": "EI-L01-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B26-C4" + }, + { + "lpbca": 1, + "branch": 26, + "class": 5, + "linearIndex": 359, + "address": "0x30AE799970227049748fAfc2aA07be58c9718e79", + "cellId": "EI-L01-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B26-C5" + }, + { + "lpbca": 1, + "branch": 27, + "class": 0, + "linearIndex": 360, + "address": "0x19ad638c0855586583C1FCDe8cc54967d86D833E", + "cellId": "EI-L01-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B27-C0" + }, + { + "lpbca": 1, + "branch": 27, + "class": 1, + "linearIndex": 361, + "address": "0xf1f493135366d78B6e1992F56762Ff357E63a473", + "cellId": "EI-L01-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B27-C1" + }, + { + "lpbca": 1, + "branch": 27, + "class": 2, + "linearIndex": 362, + "address": "0x613521a5A987e64340cdeB0E4F95B91BBe102895", + "cellId": "EI-L01-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B27-C2" + }, + { + "lpbca": 1, + "branch": 27, + "class": 3, + "linearIndex": 363, + "address": "0xF30106AEf4f9A0Afe89b41944D33CdACd6eE8055", + "cellId": "EI-L01-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B27-C3" + }, + { + "lpbca": 1, + "branch": 27, + "class": 4, + "linearIndex": 364, + "address": "0xCd5a814516636F7b0E6C16a40fB6c644D23E5E36", + "cellId": "EI-L01-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B27-C4" + }, + { + "lpbca": 1, + "branch": 27, + "class": 5, + "linearIndex": 365, + "address": "0x006aEC893591aa4CfFCBa7ec5B923866f9D49bC0", + "cellId": "EI-L01-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B27-C5" + }, + { + "lpbca": 1, + "branch": 28, + "class": 0, + "linearIndex": 366, + "address": "0x93B8409f2B8f25884Ac9286442D852c0e5F880BB", + "cellId": "EI-L01-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B28-C0" + }, + { + "lpbca": 1, + "branch": 28, + "class": 1, + "linearIndex": 367, + "address": "0xB5eED20EECB80ec74FEdB6B434526eC08Fc5A289", + "cellId": "EI-L01-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B28-C1" + }, + { + "lpbca": 1, + "branch": 28, + "class": 2, + "linearIndex": 368, + "address": "0x533Dc287bb940d2D8606DAd6768765F6DE74F88B", + "cellId": "EI-L01-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B28-C2" + }, + { + "lpbca": 1, + "branch": 28, + "class": 3, + "linearIndex": 369, + "address": "0x952f059B0A988100Da2de65378d7E6fb1cA23c89", + "cellId": "EI-L01-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B28-C3" + }, + { + "lpbca": 1, + "branch": 28, + "class": 4, + "linearIndex": 370, + "address": "0xe9f8A4D27BD2997783fb453D633B3440354Bfa06", + "cellId": "EI-L01-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B28-C4" + }, + { + "lpbca": 1, + "branch": 28, + "class": 5, + "linearIndex": 371, + "address": "0xc335497585Ce148F11D03a41776e51d7B01fB369", + "cellId": "EI-L01-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B28-C5" + }, + { + "lpbca": 1, + "branch": 29, + "class": 0, + "linearIndex": 372, + "address": "0x5c8072Bd9d204D8DD65d19Dc82c8cb3672c3cDD5", + "cellId": "EI-L01-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B29-C0" + }, + { + "lpbca": 1, + "branch": 29, + "class": 1, + "linearIndex": 373, + "address": "0x1662EBB9d461327598D61DeDFEd1C4a863B32731", + "cellId": "EI-L01-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B29-C1" + }, + { + "lpbca": 1, + "branch": 29, + "class": 2, + "linearIndex": 374, + "address": "0xE78748Eed8e42fca94DD1097CeB837dA9AF9B63E", + "cellId": "EI-L01-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B29-C2" + }, + { + "lpbca": 1, + "branch": 29, + "class": 3, + "linearIndex": 375, + "address": "0xC90753347f6B58BAD6c0565A358451c0A29e033e", + "cellId": "EI-L01-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B29-C3" + }, + { + "lpbca": 1, + "branch": 29, + "class": 4, + "linearIndex": 376, + "address": "0xb7890f32Cb5b16585c7FB0607718F28b099E231E", + "cellId": "EI-L01-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B29-C4" + }, + { + "lpbca": 1, + "branch": 29, + "class": 5, + "linearIndex": 377, + "address": "0x5f2D94296Ba5fb33e9713022139E54A2bBb8B6ea", + "cellId": "EI-L01-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B29-C5" + }, + { + "lpbca": 1, + "branch": 30, + "class": 0, + "linearIndex": 378, + "address": "0x3e5Ff6802fD47b498C9F0Ce9F86eC52635c27C6C", + "cellId": "EI-L01-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B30-C0" + }, + { + "lpbca": 1, + "branch": 30, + "class": 1, + "linearIndex": 379, + "address": "0x04B601947608138a6153Ce5d0724F51AF664Cf5D", + "cellId": "EI-L01-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B30-C1" + }, + { + "lpbca": 1, + "branch": 30, + "class": 2, + "linearIndex": 380, + "address": "0xA04243c6F034359ecafA79542b3767602013F078", + "cellId": "EI-L01-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B30-C2" + }, + { + "lpbca": 1, + "branch": 30, + "class": 3, + "linearIndex": 381, + "address": "0x69f59Ed39310f79D024F0a484b8756c21c63dc27", + "cellId": "EI-L01-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B30-C3" + }, + { + "lpbca": 1, + "branch": 30, + "class": 4, + "linearIndex": 382, + "address": "0x8B3E09b75c991d74c59360AE94c5419A50E1e006", + "cellId": "EI-L01-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B30-C4" + }, + { + "lpbca": 1, + "branch": 30, + "class": 5, + "linearIndex": 383, + "address": "0xC20C5574ba78a8Cf8640654b6CbF9c9297F48c51", + "cellId": "EI-L01-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B30-C5" + }, + { + "lpbca": 1, + "branch": 31, + "class": 0, + "linearIndex": 384, + "address": "0x5E1Abaa777972917E37cab70c79a3B2839c7012c", + "cellId": "EI-L01-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B31-C0" + }, + { + "lpbca": 1, + "branch": 31, + "class": 1, + "linearIndex": 385, + "address": "0xCd2679f5bAF40B249692F0A844A872a4af860A9c", + "cellId": "EI-L01-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B31-C1" + }, + { + "lpbca": 1, + "branch": 31, + "class": 2, + "linearIndex": 386, + "address": "0xEa70E49fF976834246D5dfE1a4A0D01a956B60eD", + "cellId": "EI-L01-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B31-C2" + }, + { + "lpbca": 1, + "branch": 31, + "class": 3, + "linearIndex": 387, + "address": "0x4c176612231ebad3cC082cceAE69a45152B5c1c8", + "cellId": "EI-L01-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B31-C3" + }, + { + "lpbca": 1, + "branch": 31, + "class": 4, + "linearIndex": 388, + "address": "0x8Db7EA35734F233f31b4652021B7C8a22f7f9B20", + "cellId": "EI-L01-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B31-C4" + }, + { + "lpbca": 1, + "branch": 31, + "class": 5, + "linearIndex": 389, + "address": "0x03dEF12595DF612111246DAF7044F25306EFeb66", + "cellId": "EI-L01-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B31-C5" + }, + { + "lpbca": 1, + "branch": 32, + "class": 0, + "linearIndex": 390, + "address": "0xf343155516E5aAEa8d98693625083dd19e450db4", + "cellId": "EI-L01-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B32-C0" + }, + { + "lpbca": 1, + "branch": 32, + "class": 1, + "linearIndex": 391, + "address": "0xb41aE2D8dbe6048018FB2a03107AABE1B239d6dA", + "cellId": "EI-L01-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B32-C1" + }, + { + "lpbca": 1, + "branch": 32, + "class": 2, + "linearIndex": 392, + "address": "0xA0Ff6d366fD22880f9EC1a1591d1b8F205E85d45", + "cellId": "EI-L01-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B32-C2" + }, + { + "lpbca": 1, + "branch": 32, + "class": 3, + "linearIndex": 393, + "address": "0x33467b900a1E5AD0556450E514878CE2954F9Ab2", + "cellId": "EI-L01-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B32-C3" + }, + { + "lpbca": 1, + "branch": 32, + "class": 4, + "linearIndex": 394, + "address": "0x3242cce1006002C46511A563781f3Dcc1854A864", + "cellId": "EI-L01-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B32-C4" + }, + { + "lpbca": 1, + "branch": 32, + "class": 5, + "linearIndex": 395, + "address": "0x9f8B8C07c653B2Ca4e977b187e787ccC95681833", + "cellId": "EI-L01-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L01-B32-C5" + }, + { + "lpbca": 2, + "branch": 0, + "class": 0, + "linearIndex": 396, + "address": "0x94b5138a2d38cD1C2e2803c5a11dE14C34F1243c", + "cellId": "EI-L02-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B00-C0" + }, + { + "lpbca": 2, + "branch": 0, + "class": 1, + "linearIndex": 397, + "address": "0x8eC28ABd84C495b1510194c40d2b0667eAa8e28A", + "cellId": "EI-L02-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B00-C1" + }, + { + "lpbca": 2, + "branch": 0, + "class": 2, + "linearIndex": 398, + "address": "0x01DBEcF1e5fEC26138f6D1CD8Fbb0fE30263b7A3", + "cellId": "EI-L02-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B00-C2" + }, + { + "lpbca": 2, + "branch": 0, + "class": 3, + "linearIndex": 399, + "address": "0xfA7e03322E59dFe5CD952202eB4EdD35C2228Ef9", + "cellId": "EI-L02-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B00-C3" + }, + { + "lpbca": 2, + "branch": 0, + "class": 4, + "linearIndex": 400, + "address": "0xDE7225ED9B98832dafcd38eaA5E19ECB574759C5", + "cellId": "EI-L02-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B00-C4" + }, + { + "lpbca": 2, + "branch": 0, + "class": 5, + "linearIndex": 401, + "address": "0x7e81047F29b407eeb4Edb96512B9B6514b27bDff", + "cellId": "EI-L02-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B00-C5" + }, + { + "lpbca": 2, + "branch": 1, + "class": 0, + "linearIndex": 402, + "address": "0xc22D3F0c28D20e2bd4c7A5208E7B2E166a8b87FA", + "cellId": "EI-L02-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B01-C0" + }, + { + "lpbca": 2, + "branch": 1, + "class": 1, + "linearIndex": 403, + "address": "0x53BBE997C0583a55cEa61FFa5c4Dae6Ea9A200c4", + "cellId": "EI-L02-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B01-C1" + }, + { + "lpbca": 2, + "branch": 1, + "class": 2, + "linearIndex": 404, + "address": "0xac08AA3770fAA39f004dc3986A2FCA18613eD892", + "cellId": "EI-L02-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B01-C2" + }, + { + "lpbca": 2, + "branch": 1, + "class": 3, + "linearIndex": 405, + "address": "0xf92eE005746ec7E6F0aD449bA158ac5138B61E4F", + "cellId": "EI-L02-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B01-C3" + }, + { + "lpbca": 2, + "branch": 1, + "class": 4, + "linearIndex": 406, + "address": "0xF8a200E0CEE113A78D94e91818263e344b90a7f2", + "cellId": "EI-L02-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B01-C4" + }, + { + "lpbca": 2, + "branch": 1, + "class": 5, + "linearIndex": 407, + "address": "0x3A8841456e12d820285D235e391bDA8B257BDCCC", + "cellId": "EI-L02-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B01-C5" + }, + { + "lpbca": 2, + "branch": 2, + "class": 0, + "linearIndex": 408, + "address": "0x95884118c78909517012f214a9b0136cd00047e9", + "cellId": "EI-L02-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B02-C0" + }, + { + "lpbca": 2, + "branch": 2, + "class": 1, + "linearIndex": 409, + "address": "0xCCd4bCD5299B002dE2D1100FA3BA9915cB991eFe", + "cellId": "EI-L02-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B02-C1" + }, + { + "lpbca": 2, + "branch": 2, + "class": 2, + "linearIndex": 410, + "address": "0xD5104FE167f6518D13c567a5CBE773DC0A48482F", + "cellId": "EI-L02-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B02-C2" + }, + { + "lpbca": 2, + "branch": 2, + "class": 3, + "linearIndex": 411, + "address": "0xE269F9699F14bC4dCC8CAA50a24AdBF8978d60f1", + "cellId": "EI-L02-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B02-C3" + }, + { + "lpbca": 2, + "branch": 2, + "class": 4, + "linearIndex": 412, + "address": "0x18d908Adf8099166edC533c0d0Fa8BBD2B915755", + "cellId": "EI-L02-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B02-C4" + }, + { + "lpbca": 2, + "branch": 2, + "class": 5, + "linearIndex": 413, + "address": "0xD0D3471Bd95fECae290684CF4a2789FfB2724B33", + "cellId": "EI-L02-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B02-C5" + }, + { + "lpbca": 2, + "branch": 3, + "class": 0, + "linearIndex": 414, + "address": "0x1f654F1Ee725F295E112F09C83e7D8e445261b1f", + "cellId": "EI-L02-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B03-C0" + }, + { + "lpbca": 2, + "branch": 3, + "class": 1, + "linearIndex": 415, + "address": "0x5cAfB40DfCAD01aE21aB0ad35cA6b7D02b7Beb81", + "cellId": "EI-L02-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B03-C1" + }, + { + "lpbca": 2, + "branch": 3, + "class": 2, + "linearIndex": 416, + "address": "0x25Abd8F13c22840A3215417687bd9032ab90bF9C", + "cellId": "EI-L02-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B03-C2" + }, + { + "lpbca": 2, + "branch": 3, + "class": 3, + "linearIndex": 417, + "address": "0xCCD48ED1B31E82E9e8Bf5DDEdEBc667a2731fCb2", + "cellId": "EI-L02-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B03-C3" + }, + { + "lpbca": 2, + "branch": 3, + "class": 4, + "linearIndex": 418, + "address": "0x171bA11c98194F6e1f4480303503acd7662d2972", + "cellId": "EI-L02-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B03-C4" + }, + { + "lpbca": 2, + "branch": 3, + "class": 5, + "linearIndex": 419, + "address": "0x863fb8aa101114BBf854a9158354955A51F95D61", + "cellId": "EI-L02-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B03-C5" + }, + { + "lpbca": 2, + "branch": 4, + "class": 0, + "linearIndex": 420, + "address": "0xa3d40a41b9fAd78371e22F5F68C0b49F5d9B1B3A", + "cellId": "EI-L02-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B04-C0" + }, + { + "lpbca": 2, + "branch": 4, + "class": 1, + "linearIndex": 421, + "address": "0xAb219d6ABccf323419bCC81dB6F81348FaBA8363", + "cellId": "EI-L02-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B04-C1" + }, + { + "lpbca": 2, + "branch": 4, + "class": 2, + "linearIndex": 422, + "address": "0xd42D9611A4Fd860A5AD77a369afbD4F35f73d234", + "cellId": "EI-L02-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B04-C2" + }, + { + "lpbca": 2, + "branch": 4, + "class": 3, + "linearIndex": 423, + "address": "0x84Ca8493AE829EaeFa352651d737976d09AD1477", + "cellId": "EI-L02-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B04-C3" + }, + { + "lpbca": 2, + "branch": 4, + "class": 4, + "linearIndex": 424, + "address": "0x46aE8Fca99eB70a2b9551A6a1ECf0875062F28b3", + "cellId": "EI-L02-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B04-C4" + }, + { + "lpbca": 2, + "branch": 4, + "class": 5, + "linearIndex": 425, + "address": "0xf83cD0A26adF30BDd1DdF13D3e044704613acA75", + "cellId": "EI-L02-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B04-C5" + }, + { + "lpbca": 2, + "branch": 5, + "class": 0, + "linearIndex": 426, + "address": "0x250e6Fd9514Dc0d2C7C1D1710fE86aba826A4166", + "cellId": "EI-L02-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B05-C0" + }, + { + "lpbca": 2, + "branch": 5, + "class": 1, + "linearIndex": 427, + "address": "0xB3168aA4dce07d4F3214ba1C54c6DaA83C3007A1", + "cellId": "EI-L02-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B05-C1" + }, + { + "lpbca": 2, + "branch": 5, + "class": 2, + "linearIndex": 428, + "address": "0xd17645136FBF586979f3a04301e4E4Bd09D844A1", + "cellId": "EI-L02-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B05-C2" + }, + { + "lpbca": 2, + "branch": 5, + "class": 3, + "linearIndex": 429, + "address": "0xD9D409d9E8C6F48f640859eCab91a0c0a86aa088", + "cellId": "EI-L02-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B05-C3" + }, + { + "lpbca": 2, + "branch": 5, + "class": 4, + "linearIndex": 430, + "address": "0xe722C83C24b9BfEB1533797b9Fb9b48b03dB7dF2", + "cellId": "EI-L02-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B05-C4" + }, + { + "lpbca": 2, + "branch": 5, + "class": 5, + "linearIndex": 431, + "address": "0x4Eb9828bCdc88416c4D5855ee02B215f3D414034", + "cellId": "EI-L02-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B05-C5" + }, + { + "lpbca": 2, + "branch": 6, + "class": 0, + "linearIndex": 432, + "address": "0xe6e28e860344624fA00D2C71e528FAf6b2e912c4", + "cellId": "EI-L02-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B06-C0" + }, + { + "lpbca": 2, + "branch": 6, + "class": 1, + "linearIndex": 433, + "address": "0xe5E154E5A65A8E35Ef6053B38458316b5a1317d1", + "cellId": "EI-L02-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B06-C1" + }, + { + "lpbca": 2, + "branch": 6, + "class": 2, + "linearIndex": 434, + "address": "0x5D0558EcC5Fb13487dc39d8be9Ab321d41C80136", + "cellId": "EI-L02-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B06-C2" + }, + { + "lpbca": 2, + "branch": 6, + "class": 3, + "linearIndex": 435, + "address": "0xe22fc7C96f86A4E93Bf2230eBDF8C854C75844b6", + "cellId": "EI-L02-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B06-C3" + }, + { + "lpbca": 2, + "branch": 6, + "class": 4, + "linearIndex": 436, + "address": "0x08dfe0Eef811E73E89a896744Fda6A205FF9Db45", + "cellId": "EI-L02-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B06-C4" + }, + { + "lpbca": 2, + "branch": 6, + "class": 5, + "linearIndex": 437, + "address": "0xbE239D3f25BaD9e6372A6833ef5713BE033d2776", + "cellId": "EI-L02-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B06-C5" + }, + { + "lpbca": 2, + "branch": 7, + "class": 0, + "linearIndex": 438, + "address": "0x2CEa0cCE89ec8fd35060e500c4E66262647D582C", + "cellId": "EI-L02-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B07-C0" + }, + { + "lpbca": 2, + "branch": 7, + "class": 1, + "linearIndex": 439, + "address": "0x4c47b407223D4a3415b0E97B4Af7Cf3544d53026", + "cellId": "EI-L02-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B07-C1" + }, + { + "lpbca": 2, + "branch": 7, + "class": 2, + "linearIndex": 440, + "address": "0x9Fc1E61AD6832C51b8E37974c7CAE342E955e1C4", + "cellId": "EI-L02-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B07-C2" + }, + { + "lpbca": 2, + "branch": 7, + "class": 3, + "linearIndex": 441, + "address": "0xbDc0634071795A33fb8981629B19b996ba051A76", + "cellId": "EI-L02-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B07-C3" + }, + { + "lpbca": 2, + "branch": 7, + "class": 4, + "linearIndex": 442, + "address": "0xAEaFeE6e720c7A3FD4B63ee8d1B8A99124fCcf6F", + "cellId": "EI-L02-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B07-C4" + }, + { + "lpbca": 2, + "branch": 7, + "class": 5, + "linearIndex": 443, + "address": "0x5Ad431A8E6b0489c1cDF9B461cef64fD9C0b24E8", + "cellId": "EI-L02-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B07-C5" + }, + { + "lpbca": 2, + "branch": 8, + "class": 0, + "linearIndex": 444, + "address": "0x98a5Ab4244185E4056023895c1fcFD80d06CF20D", + "cellId": "EI-L02-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B08-C0" + }, + { + "lpbca": 2, + "branch": 8, + "class": 1, + "linearIndex": 445, + "address": "0x8b0718B765Ea9B3823172738F0b609739ed2bEdc", + "cellId": "EI-L02-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B08-C1" + }, + { + "lpbca": 2, + "branch": 8, + "class": 2, + "linearIndex": 446, + "address": "0x61A252Df4fcb4bD4578beb1e6b3d03E22bdc02DB", + "cellId": "EI-L02-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B08-C2" + }, + { + "lpbca": 2, + "branch": 8, + "class": 3, + "linearIndex": 447, + "address": "0xf3b56AF7Ac868c274c872C51F4c8c440627c6ba4", + "cellId": "EI-L02-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B08-C3" + }, + { + "lpbca": 2, + "branch": 8, + "class": 4, + "linearIndex": 448, + "address": "0xb48E5A26d47F340776349a67dEaD265132A7507d", + "cellId": "EI-L02-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B08-C4" + }, + { + "lpbca": 2, + "branch": 8, + "class": 5, + "linearIndex": 449, + "address": "0xe57331B8FDA90Cb38e01F668c72680840Bb9C089", + "cellId": "EI-L02-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B08-C5" + }, + { + "lpbca": 2, + "branch": 9, + "class": 0, + "linearIndex": 450, + "address": "0x866eEb1535C25615C37f64734dA79E0161Aa7e90", + "cellId": "EI-L02-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B09-C0" + }, + { + "lpbca": 2, + "branch": 9, + "class": 1, + "linearIndex": 451, + "address": "0x89A45E2B542aeB976E12E49b1595e52ca84B1E27", + "cellId": "EI-L02-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B09-C1" + }, + { + "lpbca": 2, + "branch": 9, + "class": 2, + "linearIndex": 452, + "address": "0x2e13bD9E579B857185d4E152B536aF9c7E05f97a", + "cellId": "EI-L02-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B09-C2" + }, + { + "lpbca": 2, + "branch": 9, + "class": 3, + "linearIndex": 453, + "address": "0xa8d5f25c6e8926102947A89d4B08265ab79E29A7", + "cellId": "EI-L02-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B09-C3" + }, + { + "lpbca": 2, + "branch": 9, + "class": 4, + "linearIndex": 454, + "address": "0xF75F77f7060FD818BEC9B0dE81a8b2D10FB67Eb6", + "cellId": "EI-L02-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B09-C4" + }, + { + "lpbca": 2, + "branch": 9, + "class": 5, + "linearIndex": 455, + "address": "0x817bE740A4dc8D66e90a63FDe590dCC72D343B2F", + "cellId": "EI-L02-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B09-C5" + }, + { + "lpbca": 2, + "branch": 10, + "class": 0, + "linearIndex": 456, + "address": "0x3867C5C113Ba760EeEdF5E9518eCbC1d19F4F069", + "cellId": "EI-L02-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B10-C0" + }, + { + "lpbca": 2, + "branch": 10, + "class": 1, + "linearIndex": 457, + "address": "0xf34f90247f7Fd3B0739a6911789852bb9dF3eE84", + "cellId": "EI-L02-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B10-C1" + }, + { + "lpbca": 2, + "branch": 10, + "class": 2, + "linearIndex": 458, + "address": "0x176c00442E3FA56C4256C5500608B72CF190223F", + "cellId": "EI-L02-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B10-C2" + }, + { + "lpbca": 2, + "branch": 10, + "class": 3, + "linearIndex": 459, + "address": "0xCe1cb1d8DBB25e739851c43a27E94C6d56596eaf", + "cellId": "EI-L02-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B10-C3" + }, + { + "lpbca": 2, + "branch": 10, + "class": 4, + "linearIndex": 460, + "address": "0x5c341ddB5Af8566C9bB69f7ed563f34eE5217065", + "cellId": "EI-L02-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B10-C4" + }, + { + "lpbca": 2, + "branch": 10, + "class": 5, + "linearIndex": 461, + "address": "0x60655A8FC7b73089239cb017e054c1c77fb14Af1", + "cellId": "EI-L02-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B10-C5" + }, + { + "lpbca": 2, + "branch": 11, + "class": 0, + "linearIndex": 462, + "address": "0x6EE6a817bb84dBA76dcc8c9eBc6424c0872021b0", + "cellId": "EI-L02-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B11-C0" + }, + { + "lpbca": 2, + "branch": 11, + "class": 1, + "linearIndex": 463, + "address": "0x688A99FC8FD1b963db5F29044fe61bF3026E8146", + "cellId": "EI-L02-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B11-C1" + }, + { + "lpbca": 2, + "branch": 11, + "class": 2, + "linearIndex": 464, + "address": "0x2Fb4765Cb95CBf60218c29d87b97716A1909860A", + "cellId": "EI-L02-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B11-C2" + }, + { + "lpbca": 2, + "branch": 11, + "class": 3, + "linearIndex": 465, + "address": "0xb849f52aAA7E95EFCA1BaF1024A6Fb8dD8c0888d", + "cellId": "EI-L02-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B11-C3" + }, + { + "lpbca": 2, + "branch": 11, + "class": 4, + "linearIndex": 466, + "address": "0x2A69D2e78Ea91652EDD04051C8Da965eDCb46340", + "cellId": "EI-L02-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B11-C4" + }, + { + "lpbca": 2, + "branch": 11, + "class": 5, + "linearIndex": 467, + "address": "0x3037C23538D25F5012796b56E5e9b565a984DDB0", + "cellId": "EI-L02-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B11-C5" + }, + { + "lpbca": 2, + "branch": 12, + "class": 0, + "linearIndex": 468, + "address": "0xd56599942e33AE689055C050c2fF50D804E409fE", + "cellId": "EI-L02-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B12-C0" + }, + { + "lpbca": 2, + "branch": 12, + "class": 1, + "linearIndex": 469, + "address": "0x9c13997F0c859FEfC3e89D8a2F9f29270fb9e0B4", + "cellId": "EI-L02-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B12-C1" + }, + { + "lpbca": 2, + "branch": 12, + "class": 2, + "linearIndex": 470, + "address": "0xD1d2A5c2dE92500a1950EF184F4aAAEDaA430F0F", + "cellId": "EI-L02-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B12-C2" + }, + { + "lpbca": 2, + "branch": 12, + "class": 3, + "linearIndex": 471, + "address": "0xBd5c93992717673eD9a1EBd77a2FB6996c39Ce66", + "cellId": "EI-L02-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B12-C3" + }, + { + "lpbca": 2, + "branch": 12, + "class": 4, + "linearIndex": 472, + "address": "0x660f05ea631fCEA244A1d9720D97a3d53974297d", + "cellId": "EI-L02-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B12-C4" + }, + { + "lpbca": 2, + "branch": 12, + "class": 5, + "linearIndex": 473, + "address": "0xd8c3c55cFBa5F2682A30164f243334DA3e29B97e", + "cellId": "EI-L02-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B12-C5" + }, + { + "lpbca": 2, + "branch": 13, + "class": 0, + "linearIndex": 474, + "address": "0x72e9FcBCfc18434E330F843787826eB447909908", + "cellId": "EI-L02-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B13-C0" + }, + { + "lpbca": 2, + "branch": 13, + "class": 1, + "linearIndex": 475, + "address": "0x13c40509E4328c2816c4d51c6083eB1C767b727F", + "cellId": "EI-L02-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B13-C1" + }, + { + "lpbca": 2, + "branch": 13, + "class": 2, + "linearIndex": 476, + "address": "0xbA2e4141b35CabD2fde3e4858246C52B05ED6d0f", + "cellId": "EI-L02-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B13-C2" + }, + { + "lpbca": 2, + "branch": 13, + "class": 3, + "linearIndex": 477, + "address": "0xdA4d6D37b4e7AE21B6d3a552f52c6E6a245e9C72", + "cellId": "EI-L02-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B13-C3" + }, + { + "lpbca": 2, + "branch": 13, + "class": 4, + "linearIndex": 478, + "address": "0x220d5a2C33f1010f5D320b58bD8B36AA552fF901", + "cellId": "EI-L02-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B13-C4" + }, + { + "lpbca": 2, + "branch": 13, + "class": 5, + "linearIndex": 479, + "address": "0xb9e6CdA78a6e0331BEc17D59b3943A5376Cc3F15", + "cellId": "EI-L02-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B13-C5" + }, + { + "lpbca": 2, + "branch": 14, + "class": 0, + "linearIndex": 480, + "address": "0x445e08B6A41670DC918280a1344683EadF4837f0", + "cellId": "EI-L02-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B14-C0" + }, + { + "lpbca": 2, + "branch": 14, + "class": 1, + "linearIndex": 481, + "address": "0x9FCDb31E1D956a376Dc567b102aE720EabdF8e78", + "cellId": "EI-L02-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B14-C1" + }, + { + "lpbca": 2, + "branch": 14, + "class": 2, + "linearIndex": 482, + "address": "0xa5276484dC92BDb984Bc74c01aF2fd3e40eba021", + "cellId": "EI-L02-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B14-C2" + }, + { + "lpbca": 2, + "branch": 14, + "class": 3, + "linearIndex": 483, + "address": "0xEB068a16A1578dF55df05cebFdca1FBcFE3fDD07", + "cellId": "EI-L02-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B14-C3" + }, + { + "lpbca": 2, + "branch": 14, + "class": 4, + "linearIndex": 484, + "address": "0x10B70eE57C4b8020C1DA2C91b96152355a82c6Fb", + "cellId": "EI-L02-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B14-C4" + }, + { + "lpbca": 2, + "branch": 14, + "class": 5, + "linearIndex": 485, + "address": "0xA9dC64Fde934F955298c064CbDdDC25EAe7efa3F", + "cellId": "EI-L02-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B14-C5" + }, + { + "lpbca": 2, + "branch": 15, + "class": 0, + "linearIndex": 486, + "address": "0xd1067e567C77c70bD42B942aE5E6c7F333286E39", + "cellId": "EI-L02-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B15-C0" + }, + { + "lpbca": 2, + "branch": 15, + "class": 1, + "linearIndex": 487, + "address": "0xc0A89320782efe6C6CfC65E1Cda8f3767029822A", + "cellId": "EI-L02-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B15-C1" + }, + { + "lpbca": 2, + "branch": 15, + "class": 2, + "linearIndex": 488, + "address": "0xc6BE01148f360798F038Dd936B888334698Fe738", + "cellId": "EI-L02-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B15-C2" + }, + { + "lpbca": 2, + "branch": 15, + "class": 3, + "linearIndex": 489, + "address": "0xc285c52111ba999D922A29bF5E3b39D4b59a18Fc", + "cellId": "EI-L02-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B15-C3" + }, + { + "lpbca": 2, + "branch": 15, + "class": 4, + "linearIndex": 490, + "address": "0x4a469fF8e7c89A0FF8b0fCE01f95925933c9beEc", + "cellId": "EI-L02-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B15-C4" + }, + { + "lpbca": 2, + "branch": 15, + "class": 5, + "linearIndex": 491, + "address": "0xe0C07160ED663b8E7daB6031491112BBBe4Adb48", + "cellId": "EI-L02-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B15-C5" + }, + { + "lpbca": 2, + "branch": 16, + "class": 0, + "linearIndex": 492, + "address": "0xA5a45f796D00c485237aC71e1866E4810B877898", + "cellId": "EI-L02-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B16-C0" + }, + { + "lpbca": 2, + "branch": 16, + "class": 1, + "linearIndex": 493, + "address": "0x05b1Ab8949A7e98405B89a9F1eb3E06cb0e12Ee6", + "cellId": "EI-L02-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B16-C1" + }, + { + "lpbca": 2, + "branch": 16, + "class": 2, + "linearIndex": 494, + "address": "0x68ba9Efc4531691FFD9C72C1E0bF38ED596bC45E", + "cellId": "EI-L02-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B16-C2" + }, + { + "lpbca": 2, + "branch": 16, + "class": 3, + "linearIndex": 495, + "address": "0x891d3cF08573ec1692C84A8b0e17765E4e236d4e", + "cellId": "EI-L02-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B16-C3" + }, + { + "lpbca": 2, + "branch": 16, + "class": 4, + "linearIndex": 496, + "address": "0x6fDDf674632f53D2a507b48e02770d5d2CCBdC13", + "cellId": "EI-L02-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B16-C4" + }, + { + "lpbca": 2, + "branch": 16, + "class": 5, + "linearIndex": 497, + "address": "0x49248b1ABCcc50D862f8D2a143fCddF41502D5b7", + "cellId": "EI-L02-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B16-C5" + }, + { + "lpbca": 2, + "branch": 17, + "class": 0, + "linearIndex": 498, + "address": "0x46e3dAf4c1D53dFAAe6Dac300566459984a0ef74", + "cellId": "EI-L02-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B17-C0" + }, + { + "lpbca": 2, + "branch": 17, + "class": 1, + "linearIndex": 499, + "address": "0x9A5C4C7f0993c15c5E6BB7c3d72A6e59210a9380", + "cellId": "EI-L02-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B17-C1" + }, + { + "lpbca": 2, + "branch": 17, + "class": 2, + "linearIndex": 500, + "address": "0x7169E4D617617FDfeF96E7977d10F2Ae9A770558", + "cellId": "EI-L02-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B17-C2" + }, + { + "lpbca": 2, + "branch": 17, + "class": 3, + "linearIndex": 501, + "address": "0xaF3fB1809C9F172D04EA01Ee4d00D995A30F9050", + "cellId": "EI-L02-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B17-C3" + }, + { + "lpbca": 2, + "branch": 17, + "class": 4, + "linearIndex": 502, + "address": "0x73F7B4bb81d0f39972c8Ddd3F26cFdD96340F197", + "cellId": "EI-L02-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B17-C4" + }, + { + "lpbca": 2, + "branch": 17, + "class": 5, + "linearIndex": 503, + "address": "0xC116Db7Ad575121f3AB5e2617eA705251ac35b95", + "cellId": "EI-L02-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B17-C5" + }, + { + "lpbca": 2, + "branch": 18, + "class": 0, + "linearIndex": 504, + "address": "0x453D1490da25eD786902A9c5Df5CE76A0025f706", + "cellId": "EI-L02-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B18-C0" + }, + { + "lpbca": 2, + "branch": 18, + "class": 1, + "linearIndex": 505, + "address": "0x59E0eDd78EF77FCdbc3738f5e4730f75a7b5e755", + "cellId": "EI-L02-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B18-C1" + }, + { + "lpbca": 2, + "branch": 18, + "class": 2, + "linearIndex": 506, + "address": "0xBE843D50fC2b93C38fF6f4211832988a686D8963", + "cellId": "EI-L02-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B18-C2" + }, + { + "lpbca": 2, + "branch": 18, + "class": 3, + "linearIndex": 507, + "address": "0x53856cbc30C04079444a5c07E7c2DB33f3d57d35", + "cellId": "EI-L02-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B18-C3" + }, + { + "lpbca": 2, + "branch": 18, + "class": 4, + "linearIndex": 508, + "address": "0x485b39D0BF2b7DDf9eD59a8699d3c102Fa5CfD76", + "cellId": "EI-L02-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B18-C4" + }, + { + "lpbca": 2, + "branch": 18, + "class": 5, + "linearIndex": 509, + "address": "0x29a77aaE7824E7e7c56BCB3C559C9eb6033aEF93", + "cellId": "EI-L02-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B18-C5" + }, + { + "lpbca": 2, + "branch": 19, + "class": 0, + "linearIndex": 510, + "address": "0x21bbE25AC28835aa0ECB210Fa7D02a1C7fa0e596", + "cellId": "EI-L02-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B19-C0" + }, + { + "lpbca": 2, + "branch": 19, + "class": 1, + "linearIndex": 511, + "address": "0x17f3746236a3702c3D40bC460718B281372f22A8", + "cellId": "EI-L02-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B19-C1" + }, + { + "lpbca": 2, + "branch": 19, + "class": 2, + "linearIndex": 512, + "address": "0xA0F3650f80111910B946b265E1Ca861B5A117EBa", + "cellId": "EI-L02-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B19-C2" + }, + { + "lpbca": 2, + "branch": 19, + "class": 3, + "linearIndex": 513, + "address": "0xF9b00D6885c7D5E3Df92C72ff80FA1F7f03154eb", + "cellId": "EI-L02-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B19-C3" + }, + { + "lpbca": 2, + "branch": 19, + "class": 4, + "linearIndex": 514, + "address": "0x9ac2C101Ef7bbf59C720Df96D658DA36E2e4e2Ff", + "cellId": "EI-L02-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B19-C4" + }, + { + "lpbca": 2, + "branch": 19, + "class": 5, + "linearIndex": 515, + "address": "0x374eF04F21eeC89ADd34D995231FBE98e6FDC36f", + "cellId": "EI-L02-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B19-C5" + }, + { + "lpbca": 2, + "branch": 20, + "class": 0, + "linearIndex": 516, + "address": "0xA7bE96239F3d17C6fC3Db6b58913224f01A4732C", + "cellId": "EI-L02-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B20-C0" + }, + { + "lpbca": 2, + "branch": 20, + "class": 1, + "linearIndex": 517, + "address": "0x72059f645ff7E75504B6FCA4E82C610cB7d1Ab48", + "cellId": "EI-L02-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B20-C1" + }, + { + "lpbca": 2, + "branch": 20, + "class": 2, + "linearIndex": 518, + "address": "0x66969380Cf8Df5548B40618F16ae49E9Db778D9A", + "cellId": "EI-L02-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B20-C2" + }, + { + "lpbca": 2, + "branch": 20, + "class": 3, + "linearIndex": 519, + "address": "0x5a864F1029F691Dd39E6e78A287c1199880cc2C5", + "cellId": "EI-L02-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B20-C3" + }, + { + "lpbca": 2, + "branch": 20, + "class": 4, + "linearIndex": 520, + "address": "0x95B7d3829Fa9663650cF8d58ea51B8d22bcb45cf", + "cellId": "EI-L02-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B20-C4" + }, + { + "lpbca": 2, + "branch": 20, + "class": 5, + "linearIndex": 521, + "address": "0xa9146fDad2a508742f9e3895e2C31437657Da707", + "cellId": "EI-L02-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B20-C5" + }, + { + "lpbca": 2, + "branch": 21, + "class": 0, + "linearIndex": 522, + "address": "0x785301185b42aE6540D0C69BeEd0C1216a1785cC", + "cellId": "EI-L02-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B21-C0" + }, + { + "lpbca": 2, + "branch": 21, + "class": 1, + "linearIndex": 523, + "address": "0xaa435D051995EC8CE7a70D1bf14498d5220748e2", + "cellId": "EI-L02-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B21-C1" + }, + { + "lpbca": 2, + "branch": 21, + "class": 2, + "linearIndex": 524, + "address": "0x37E08bF0b35B8DE3198800E9b4Df186594488DDc", + "cellId": "EI-L02-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B21-C2" + }, + { + "lpbca": 2, + "branch": 21, + "class": 3, + "linearIndex": 525, + "address": "0xFC62cBEb784ec650E8F815A29e75e5e2C906AF67", + "cellId": "EI-L02-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B21-C3" + }, + { + "lpbca": 2, + "branch": 21, + "class": 4, + "linearIndex": 526, + "address": "0x240c14658fB93FD3A18af7b5dA3843D17372363c", + "cellId": "EI-L02-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B21-C4" + }, + { + "lpbca": 2, + "branch": 21, + "class": 5, + "linearIndex": 527, + "address": "0x8e1cBbD36217f176B72EB1f1CA0062A39594EFc4", + "cellId": "EI-L02-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B21-C5" + }, + { + "lpbca": 2, + "branch": 22, + "class": 0, + "linearIndex": 528, + "address": "0xD00b2f1c74bb0d8516c72b736069643a34498875", + "cellId": "EI-L02-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B22-C0" + }, + { + "lpbca": 2, + "branch": 22, + "class": 1, + "linearIndex": 529, + "address": "0x168e0b7D3b6728072b284208ab293f2150ecF5d4", + "cellId": "EI-L02-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B22-C1" + }, + { + "lpbca": 2, + "branch": 22, + "class": 2, + "linearIndex": 530, + "address": "0xCdFdc2B64610373DbD36Fa93155FF8C3Fa0dFc51", + "cellId": "EI-L02-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B22-C2" + }, + { + "lpbca": 2, + "branch": 22, + "class": 3, + "linearIndex": 531, + "address": "0xB2bE36C825F3d4c1e7000c55361F51D7bA7c6885", + "cellId": "EI-L02-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B22-C3" + }, + { + "lpbca": 2, + "branch": 22, + "class": 4, + "linearIndex": 532, + "address": "0xBaB71940b0649451415e5140fc6543Be030aAbdA", + "cellId": "EI-L02-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B22-C4" + }, + { + "lpbca": 2, + "branch": 22, + "class": 5, + "linearIndex": 533, + "address": "0x5eF2a295C7a2C75B7C7973e0F9064aDB3713bfAD", + "cellId": "EI-L02-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B22-C5" + }, + { + "lpbca": 2, + "branch": 23, + "class": 0, + "linearIndex": 534, + "address": "0x2485D7B86fE3265bA881b38f68F04b5cFcE612d9", + "cellId": "EI-L02-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B23-C0" + }, + { + "lpbca": 2, + "branch": 23, + "class": 1, + "linearIndex": 535, + "address": "0xcb680546d39fc52162D88077f59b6e3EDd345854", + "cellId": "EI-L02-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B23-C1" + }, + { + "lpbca": 2, + "branch": 23, + "class": 2, + "linearIndex": 536, + "address": "0x3F99A8f45D755cD2e705565aDe060B912A235dc5", + "cellId": "EI-L02-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B23-C2" + }, + { + "lpbca": 2, + "branch": 23, + "class": 3, + "linearIndex": 537, + "address": "0xe1c844dFf5b121A130A3b0b529D053B0d60C39e0", + "cellId": "EI-L02-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B23-C3" + }, + { + "lpbca": 2, + "branch": 23, + "class": 4, + "linearIndex": 538, + "address": "0xDde6764BF85C46Abe6b5EE426d697d54bEAa9f45", + "cellId": "EI-L02-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B23-C4" + }, + { + "lpbca": 2, + "branch": 23, + "class": 5, + "linearIndex": 539, + "address": "0xFE31A1845b2e91E4d68f5B0E65b57AC9a37A6F20", + "cellId": "EI-L02-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B23-C5" + }, + { + "lpbca": 2, + "branch": 24, + "class": 0, + "linearIndex": 540, + "address": "0xB195d70410fc2b74Bc641b0Bad18fb7916858dA1", + "cellId": "EI-L02-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B24-C0" + }, + { + "lpbca": 2, + "branch": 24, + "class": 1, + "linearIndex": 541, + "address": "0xf775725043a2B8411b741bC19b6A9a9c77cB6649", + "cellId": "EI-L02-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B24-C1" + }, + { + "lpbca": 2, + "branch": 24, + "class": 2, + "linearIndex": 542, + "address": "0x9Ca5Ab18Da4a4658595C2FbA2b24f84A1e601511", + "cellId": "EI-L02-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B24-C2" + }, + { + "lpbca": 2, + "branch": 24, + "class": 3, + "linearIndex": 543, + "address": "0xb03b25bd7b0bEAFeC4873e1F04730a767D344DDc", + "cellId": "EI-L02-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B24-C3" + }, + { + "lpbca": 2, + "branch": 24, + "class": 4, + "linearIndex": 544, + "address": "0x68124f387639014F3Df3925A8204a290e7Ef9846", + "cellId": "EI-L02-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B24-C4" + }, + { + "lpbca": 2, + "branch": 24, + "class": 5, + "linearIndex": 545, + "address": "0xaFa776203783D2541f0D73E95029EEC3F505Be19", + "cellId": "EI-L02-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B24-C5" + }, + { + "lpbca": 2, + "branch": 25, + "class": 0, + "linearIndex": 546, + "address": "0xbcc100bea6563d4b26Bda98f49bE8f239Cc9308f", + "cellId": "EI-L02-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B25-C0" + }, + { + "lpbca": 2, + "branch": 25, + "class": 1, + "linearIndex": 547, + "address": "0x95B5a0c3BAcEBF6653bBD70D8f4801c954d43293", + "cellId": "EI-L02-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B25-C1" + }, + { + "lpbca": 2, + "branch": 25, + "class": 2, + "linearIndex": 548, + "address": "0x510262b0c86966cbf08AC79F87b1E03d43c437bE", + "cellId": "EI-L02-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B25-C2" + }, + { + "lpbca": 2, + "branch": 25, + "class": 3, + "linearIndex": 549, + "address": "0x1915d55eC9A259E036340feB98da706be7400504", + "cellId": "EI-L02-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B25-C3" + }, + { + "lpbca": 2, + "branch": 25, + "class": 4, + "linearIndex": 550, + "address": "0x07582c48fE0606d63a2801D6404e34CA7D321a6f", + "cellId": "EI-L02-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B25-C4" + }, + { + "lpbca": 2, + "branch": 25, + "class": 5, + "linearIndex": 551, + "address": "0x07D59812404d17b52578FC430717D4c679712E62", + "cellId": "EI-L02-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B25-C5" + }, + { + "lpbca": 2, + "branch": 26, + "class": 0, + "linearIndex": 552, + "address": "0x7fc7990034B01c9Bf3F39CFc777Dd06BC025Ec37", + "cellId": "EI-L02-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B26-C0" + }, + { + "lpbca": 2, + "branch": 26, + "class": 1, + "linearIndex": 553, + "address": "0x5D2c5effF7080672c403f220dEc9A392080Ee41f", + "cellId": "EI-L02-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B26-C1" + }, + { + "lpbca": 2, + "branch": 26, + "class": 2, + "linearIndex": 554, + "address": "0xD8f834ef7aD1de7a66c7A6f3870dBe235aBf094C", + "cellId": "EI-L02-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B26-C2" + }, + { + "lpbca": 2, + "branch": 26, + "class": 3, + "linearIndex": 555, + "address": "0x4c9899768c58271fd1C03156B6ECB761d9E39bF4", + "cellId": "EI-L02-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B26-C3" + }, + { + "lpbca": 2, + "branch": 26, + "class": 4, + "linearIndex": 556, + "address": "0xc0Cfb081187f64B388318A8D6c53544E837cB580", + "cellId": "EI-L02-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B26-C4" + }, + { + "lpbca": 2, + "branch": 26, + "class": 5, + "linearIndex": 557, + "address": "0x50f311f6D3284C92da6cd21d74C56813E9227F1E", + "cellId": "EI-L02-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B26-C5" + }, + { + "lpbca": 2, + "branch": 27, + "class": 0, + "linearIndex": 558, + "address": "0xe16ab149801D7C9da74FF6248410CB6b68A2C252", + "cellId": "EI-L02-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B27-C0" + }, + { + "lpbca": 2, + "branch": 27, + "class": 1, + "linearIndex": 559, + "address": "0x231c71e069D7C2DBeA4DCC76bD2AF795FB18A158", + "cellId": "EI-L02-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B27-C1" + }, + { + "lpbca": 2, + "branch": 27, + "class": 2, + "linearIndex": 560, + "address": "0xB8c122A92FdAC819A020471Cb0e641756A65EbC9", + "cellId": "EI-L02-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B27-C2" + }, + { + "lpbca": 2, + "branch": 27, + "class": 3, + "linearIndex": 561, + "address": "0x67a8b21Ce7BB13380B177873925cC7288Bd47bDd", + "cellId": "EI-L02-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B27-C3" + }, + { + "lpbca": 2, + "branch": 27, + "class": 4, + "linearIndex": 562, + "address": "0xc07f60a0af3FB51c8E7c94F93c3e07214bEd7B59", + "cellId": "EI-L02-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B27-C4" + }, + { + "lpbca": 2, + "branch": 27, + "class": 5, + "linearIndex": 563, + "address": "0xFEF993FC49163D9909FF728311F2AED7a7F79aBC", + "cellId": "EI-L02-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B27-C5" + }, + { + "lpbca": 2, + "branch": 28, + "class": 0, + "linearIndex": 564, + "address": "0xf072505e1DBE2dc03771B37b4CdE7524E3f0F32D", + "cellId": "EI-L02-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B28-C0" + }, + { + "lpbca": 2, + "branch": 28, + "class": 1, + "linearIndex": 565, + "address": "0xe8406b64bBBFD72055e3ac64dFB3374273B8A755", + "cellId": "EI-L02-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B28-C1" + }, + { + "lpbca": 2, + "branch": 28, + "class": 2, + "linearIndex": 566, + "address": "0x562f2fc42FBf969920cA9478c1f7d7Ba333025F9", + "cellId": "EI-L02-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B28-C2" + }, + { + "lpbca": 2, + "branch": 28, + "class": 3, + "linearIndex": 567, + "address": "0xC76285fA0579bA718126d7aDD274f01b815C497E", + "cellId": "EI-L02-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B28-C3" + }, + { + "lpbca": 2, + "branch": 28, + "class": 4, + "linearIndex": 568, + "address": "0x3FaEc0bD30d711ca68127366103e3518a7Ce57Fb", + "cellId": "EI-L02-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B28-C4" + }, + { + "lpbca": 2, + "branch": 28, + "class": 5, + "linearIndex": 569, + "address": "0x882e147Be547e221C8AB93CCD2cc6DBF4856b54F", + "cellId": "EI-L02-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B28-C5" + }, + { + "lpbca": 2, + "branch": 29, + "class": 0, + "linearIndex": 570, + "address": "0x8404592FDd6f59dA595D1492FAf81aAbA463eBe5", + "cellId": "EI-L02-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B29-C0" + }, + { + "lpbca": 2, + "branch": 29, + "class": 1, + "linearIndex": 571, + "address": "0x14419b28d61c1D0Ef950Fe2F9A3328201C9d3cE3", + "cellId": "EI-L02-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B29-C1" + }, + { + "lpbca": 2, + "branch": 29, + "class": 2, + "linearIndex": 572, + "address": "0xc318f576CDeAbae3c1D2Ecb1A64A791A01320D38", + "cellId": "EI-L02-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B29-C2" + }, + { + "lpbca": 2, + "branch": 29, + "class": 3, + "linearIndex": 573, + "address": "0xBa7083b36c9A986ca602B0EFD04C13ee930b7e60", + "cellId": "EI-L02-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B29-C3" + }, + { + "lpbca": 2, + "branch": 29, + "class": 4, + "linearIndex": 574, + "address": "0x22a3f231c635C8C86651817BeF5FdB78b2a65354", + "cellId": "EI-L02-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B29-C4" + }, + { + "lpbca": 2, + "branch": 29, + "class": 5, + "linearIndex": 575, + "address": "0xad644525847D23E7C928A6642F0e7503118D2041", + "cellId": "EI-L02-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B29-C5" + }, + { + "lpbca": 2, + "branch": 30, + "class": 0, + "linearIndex": 576, + "address": "0x641b5b7f68A7446539B3FCd8AB4aD99585Bfb9A6", + "cellId": "EI-L02-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B30-C0" + }, + { + "lpbca": 2, + "branch": 30, + "class": 1, + "linearIndex": 577, + "address": "0x61b306dAfA1025344fd0030dd845DFb68A849e7C", + "cellId": "EI-L02-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B30-C1" + }, + { + "lpbca": 2, + "branch": 30, + "class": 2, + "linearIndex": 578, + "address": "0x2eFE685A77EA9f02FEB9f846bCC399725d90d7C6", + "cellId": "EI-L02-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B30-C2" + }, + { + "lpbca": 2, + "branch": 30, + "class": 3, + "linearIndex": 579, + "address": "0x6953b14Cce354484a0282AbD0AC3e7268Ae6CAe2", + "cellId": "EI-L02-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B30-C3" + }, + { + "lpbca": 2, + "branch": 30, + "class": 4, + "linearIndex": 580, + "address": "0xfFFa2F914cAfAE0e63356a20005A7A8d79345F06", + "cellId": "EI-L02-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B30-C4" + }, + { + "lpbca": 2, + "branch": 30, + "class": 5, + "linearIndex": 581, + "address": "0x0538F808B33c2f888E92f7B4Ea017a401e7da8d4", + "cellId": "EI-L02-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B30-C5" + }, + { + "lpbca": 2, + "branch": 31, + "class": 0, + "linearIndex": 582, + "address": "0x383f113a21F87F61a87eC4DDe23d458c1d7739D8", + "cellId": "EI-L02-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B31-C0" + }, + { + "lpbca": 2, + "branch": 31, + "class": 1, + "linearIndex": 583, + "address": "0xCe8cD7B095f0fa6A008DE39a1310cCaF52fd3735", + "cellId": "EI-L02-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B31-C1" + }, + { + "lpbca": 2, + "branch": 31, + "class": 2, + "linearIndex": 584, + "address": "0x82811937a7c36790B34Ae165a8eF6E57cDc60104", + "cellId": "EI-L02-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B31-C2" + }, + { + "lpbca": 2, + "branch": 31, + "class": 3, + "linearIndex": 585, + "address": "0xD0A3603c46c4237bDf43513B724f32671eFe1F33", + "cellId": "EI-L02-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B31-C3" + }, + { + "lpbca": 2, + "branch": 31, + "class": 4, + "linearIndex": 586, + "address": "0x58E911c057C288184d3de57C0f8626638922F051", + "cellId": "EI-L02-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B31-C4" + }, + { + "lpbca": 2, + "branch": 31, + "class": 5, + "linearIndex": 587, + "address": "0x961f289dEdebfDDE2d6cF0884D0FD7361C12c701", + "cellId": "EI-L02-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B31-C5" + }, + { + "lpbca": 2, + "branch": 32, + "class": 0, + "linearIndex": 588, + "address": "0xA6367AAD1Ad142F1322bba8493eb92aeD531cDaE", + "cellId": "EI-L02-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B32-C0" + }, + { + "lpbca": 2, + "branch": 32, + "class": 1, + "linearIndex": 589, + "address": "0xe4B2f22c8Cc0c0077FB8332206a955AB066da927", + "cellId": "EI-L02-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B32-C1" + }, + { + "lpbca": 2, + "branch": 32, + "class": 2, + "linearIndex": 590, + "address": "0x3Cea6B53Bd3aA188867e8c1da94DDbECB0A2830f", + "cellId": "EI-L02-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B32-C2" + }, + { + "lpbca": 2, + "branch": 32, + "class": 3, + "linearIndex": 591, + "address": "0xA393676Fa17e73ccD2b0AD99650922BD5E2C02C6", + "cellId": "EI-L02-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B32-C3" + }, + { + "lpbca": 2, + "branch": 32, + "class": 4, + "linearIndex": 592, + "address": "0xC3e99f5037CacD59ce000a2Bdaeb8D70c9952eF0", + "cellId": "EI-L02-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B32-C4" + }, + { + "lpbca": 2, + "branch": 32, + "class": 5, + "linearIndex": 593, + "address": "0x3684BBEc76C92e64035792679368918ad87A76c1", + "cellId": "EI-L02-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L02-B32-C5" + }, + { + "lpbca": 3, + "branch": 0, + "class": 0, + "linearIndex": 594, + "address": "0x0023fd905fC45cA113eeEC7eF82f5b1D3cB18f2c", + "cellId": "EI-L03-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B00-C0" + }, + { + "lpbca": 3, + "branch": 0, + "class": 1, + "linearIndex": 595, + "address": "0x39F59dBC9807C004c7c639A976CeC849e5B00347", + "cellId": "EI-L03-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B00-C1" + }, + { + "lpbca": 3, + "branch": 0, + "class": 2, + "linearIndex": 596, + "address": "0xf8d223C2Ce1c5a6f919955ef3F4a18F60D81Bed7", + "cellId": "EI-L03-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B00-C2" + }, + { + "lpbca": 3, + "branch": 0, + "class": 3, + "linearIndex": 597, + "address": "0x9C9E9c79300A7Cc6Be97cC8B786C63B41deE7B84", + "cellId": "EI-L03-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B00-C3" + }, + { + "lpbca": 3, + "branch": 0, + "class": 4, + "linearIndex": 598, + "address": "0x8864dB1f7b21adE8ebBD0c83A2DCcb9bbaBA88d6", + "cellId": "EI-L03-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B00-C4" + }, + { + "lpbca": 3, + "branch": 0, + "class": 5, + "linearIndex": 599, + "address": "0x39B182f9347F502a3f74346Ded89C23f3B1edeAd", + "cellId": "EI-L03-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B00-C5" + }, + { + "lpbca": 3, + "branch": 1, + "class": 0, + "linearIndex": 600, + "address": "0x16f09CA3F2f42cBA4b44Bf4D644f13ef66885Bad", + "cellId": "EI-L03-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B01-C0" + }, + { + "lpbca": 3, + "branch": 1, + "class": 1, + "linearIndex": 601, + "address": "0x569082f74021591D88643F7D4be7901087091Df8", + "cellId": "EI-L03-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B01-C1" + }, + { + "lpbca": 3, + "branch": 1, + "class": 2, + "linearIndex": 602, + "address": "0x96CE772ca4BBc3A297963F5C7A2305b184Dbe918", + "cellId": "EI-L03-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B01-C2" + }, + { + "lpbca": 3, + "branch": 1, + "class": 3, + "linearIndex": 603, + "address": "0x32fAc346D08Db1e0418a666172fe35259B3cfe64", + "cellId": "EI-L03-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B01-C3" + }, + { + "lpbca": 3, + "branch": 1, + "class": 4, + "linearIndex": 604, + "address": "0x16c60b2EC5E654f82b4a82e7f2dE8E258a9dF177", + "cellId": "EI-L03-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B01-C4" + }, + { + "lpbca": 3, + "branch": 1, + "class": 5, + "linearIndex": 605, + "address": "0x62bCBb5DA5EDC2048f570139258b6D0b7f5144e0", + "cellId": "EI-L03-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B01-C5" + }, + { + "lpbca": 3, + "branch": 2, + "class": 0, + "linearIndex": 606, + "address": "0x4eA4A3fA643699723DDC2AEEAEd14B25C1f878d6", + "cellId": "EI-L03-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B02-C0" + }, + { + "lpbca": 3, + "branch": 2, + "class": 1, + "linearIndex": 607, + "address": "0x1B243513aFe5E58a701e6884197c00682D5bcD3B", + "cellId": "EI-L03-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B02-C1" + }, + { + "lpbca": 3, + "branch": 2, + "class": 2, + "linearIndex": 608, + "address": "0xB6ff0A94e25d7D154Df8F964F21aC11138f9fa22", + "cellId": "EI-L03-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B02-C2" + }, + { + "lpbca": 3, + "branch": 2, + "class": 3, + "linearIndex": 609, + "address": "0xebB345eF9781B067C8AA6dC02196f1c6315D16dD", + "cellId": "EI-L03-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B02-C3" + }, + { + "lpbca": 3, + "branch": 2, + "class": 4, + "linearIndex": 610, + "address": "0x21E6a23087Ed6a8F99899A4F72eEbEd82ee6B1EE", + "cellId": "EI-L03-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B02-C4" + }, + { + "lpbca": 3, + "branch": 2, + "class": 5, + "linearIndex": 611, + "address": "0x0D446c0d891E8aE1dDFE70593d22C5Dadf6f4F3e", + "cellId": "EI-L03-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B02-C5" + }, + { + "lpbca": 3, + "branch": 3, + "class": 0, + "linearIndex": 612, + "address": "0x03374fC239cC3ccBAEd72Ef32f88aF4DD6CEcb8c", + "cellId": "EI-L03-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B03-C0" + }, + { + "lpbca": 3, + "branch": 3, + "class": 1, + "linearIndex": 613, + "address": "0xBC20913Ac13a0c8838E79da0DA5d7191C665a726", + "cellId": "EI-L03-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B03-C1" + }, + { + "lpbca": 3, + "branch": 3, + "class": 2, + "linearIndex": 614, + "address": "0x73c3531A0BB37038eE9E798C40e4f28A650323fB", + "cellId": "EI-L03-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B03-C2" + }, + { + "lpbca": 3, + "branch": 3, + "class": 3, + "linearIndex": 615, + "address": "0x898c10986F1daa2620d86D1d3559B5535487eFc1", + "cellId": "EI-L03-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B03-C3" + }, + { + "lpbca": 3, + "branch": 3, + "class": 4, + "linearIndex": 616, + "address": "0x45B84D0a62a5726aDE17769AE57208B037345940", + "cellId": "EI-L03-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B03-C4" + }, + { + "lpbca": 3, + "branch": 3, + "class": 5, + "linearIndex": 617, + "address": "0x9628Ca630F73BAF681b0b2662C612020fCD31dE1", + "cellId": "EI-L03-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B03-C5" + }, + { + "lpbca": 3, + "branch": 4, + "class": 0, + "linearIndex": 618, + "address": "0x91727ea61C6D65ebe55FAC483Fe3d234514FB166", + "cellId": "EI-L03-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B04-C0" + }, + { + "lpbca": 3, + "branch": 4, + "class": 1, + "linearIndex": 619, + "address": "0x1F819297340B07521954c11E40E9e2C7e18D14b4", + "cellId": "EI-L03-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B04-C1" + }, + { + "lpbca": 3, + "branch": 4, + "class": 2, + "linearIndex": 620, + "address": "0x0b07c9Cc1470906Cde99F121a00d57031a55233e", + "cellId": "EI-L03-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B04-C2" + }, + { + "lpbca": 3, + "branch": 4, + "class": 3, + "linearIndex": 621, + "address": "0xE169D229afC4a46a39FA1EF781837D5377e599B9", + "cellId": "EI-L03-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B04-C3" + }, + { + "lpbca": 3, + "branch": 4, + "class": 4, + "linearIndex": 622, + "address": "0xAcB2c77D63AD5e1B0DBC499d9d7a2432A97d4812", + "cellId": "EI-L03-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B04-C4" + }, + { + "lpbca": 3, + "branch": 4, + "class": 5, + "linearIndex": 623, + "address": "0x97f4974f6cbBb0eB1aC00D362E2aC95804Aff07F", + "cellId": "EI-L03-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B04-C5" + }, + { + "lpbca": 3, + "branch": 5, + "class": 0, + "linearIndex": 624, + "address": "0x967008834D9d8e191B3a3c688839988E4d644AD0", + "cellId": "EI-L03-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B05-C0" + }, + { + "lpbca": 3, + "branch": 5, + "class": 1, + "linearIndex": 625, + "address": "0x55889Ca1ff0011fBD5139d7575aD411645e0CD27", + "cellId": "EI-L03-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B05-C1" + }, + { + "lpbca": 3, + "branch": 5, + "class": 2, + "linearIndex": 626, + "address": "0x79a5318e3B22B085801B2e4b1c7e4F7419C9548b", + "cellId": "EI-L03-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B05-C2" + }, + { + "lpbca": 3, + "branch": 5, + "class": 3, + "linearIndex": 627, + "address": "0xC9eB4D8bcc55B4ae9746469c3a1f3F512379a8fA", + "cellId": "EI-L03-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B05-C3" + }, + { + "lpbca": 3, + "branch": 5, + "class": 4, + "linearIndex": 628, + "address": "0xA51730a0F7F7957186C03c837f926C68FECF595c", + "cellId": "EI-L03-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B05-C4" + }, + { + "lpbca": 3, + "branch": 5, + "class": 5, + "linearIndex": 629, + "address": "0x0e5030ED73735FE7567B75049A317496ab3d9fcC", + "cellId": "EI-L03-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B05-C5" + }, + { + "lpbca": 3, + "branch": 6, + "class": 0, + "linearIndex": 630, + "address": "0xEd5f5809E308E5DC933Dce72127Fca60cDb4cbf3", + "cellId": "EI-L03-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B06-C0" + }, + { + "lpbca": 3, + "branch": 6, + "class": 1, + "linearIndex": 631, + "address": "0xbD98f074c2aDC86dbDDe4Fb952F24213e353bDad", + "cellId": "EI-L03-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B06-C1" + }, + { + "lpbca": 3, + "branch": 6, + "class": 2, + "linearIndex": 632, + "address": "0xF59b3d0840DB72E5d38d7cA3E224f1fccc135c86", + "cellId": "EI-L03-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B06-C2" + }, + { + "lpbca": 3, + "branch": 6, + "class": 3, + "linearIndex": 633, + "address": "0x2a106501Ded4Fc847738F039D6a43970834220D1", + "cellId": "EI-L03-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B06-C3" + }, + { + "lpbca": 3, + "branch": 6, + "class": 4, + "linearIndex": 634, + "address": "0xC035774bA5555542BD51c39d84052043576396b8", + "cellId": "EI-L03-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B06-C4" + }, + { + "lpbca": 3, + "branch": 6, + "class": 5, + "linearIndex": 635, + "address": "0x3A6FC42489472AF85d96BC8463831CaD8f17E86b", + "cellId": "EI-L03-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B06-C5" + }, + { + "lpbca": 3, + "branch": 7, + "class": 0, + "linearIndex": 636, + "address": "0xc083cd28fEe43858734AA5757bb4e2B358826cD9", + "cellId": "EI-L03-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B07-C0" + }, + { + "lpbca": 3, + "branch": 7, + "class": 1, + "linearIndex": 637, + "address": "0xC3C33aaB2655a1006407286cDe110E5544726eF2", + "cellId": "EI-L03-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B07-C1" + }, + { + "lpbca": 3, + "branch": 7, + "class": 2, + "linearIndex": 638, + "address": "0x1D74c90132F90D6839befe7b45167c093f2e8796", + "cellId": "EI-L03-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B07-C2" + }, + { + "lpbca": 3, + "branch": 7, + "class": 3, + "linearIndex": 639, + "address": "0x3E0E306Ad5ca6dD06a70CB977851821dabB32841", + "cellId": "EI-L03-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B07-C3" + }, + { + "lpbca": 3, + "branch": 7, + "class": 4, + "linearIndex": 640, + "address": "0x7204aaBfE8D344BD3Ab96f70969efD45Ce92AEC6", + "cellId": "EI-L03-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B07-C4" + }, + { + "lpbca": 3, + "branch": 7, + "class": 5, + "linearIndex": 641, + "address": "0x8876838d3AbBF6d146CA68Bc9498752a8484444a", + "cellId": "EI-L03-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B07-C5" + }, + { + "lpbca": 3, + "branch": 8, + "class": 0, + "linearIndex": 642, + "address": "0x350BabEfDc4e66580b326945488236514C9Fb40c", + "cellId": "EI-L03-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B08-C0" + }, + { + "lpbca": 3, + "branch": 8, + "class": 1, + "linearIndex": 643, + "address": "0x37a05B0eEE44A594E15AF2b70B73aa09E0cDe046", + "cellId": "EI-L03-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B08-C1" + }, + { + "lpbca": 3, + "branch": 8, + "class": 2, + "linearIndex": 644, + "address": "0xB80e7f7258B198695989EF8b3e1e67A74D9cb360", + "cellId": "EI-L03-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B08-C2" + }, + { + "lpbca": 3, + "branch": 8, + "class": 3, + "linearIndex": 645, + "address": "0x3F7A812f7CF899c9583EDe9c4544AE286F2dE14A", + "cellId": "EI-L03-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B08-C3" + }, + { + "lpbca": 3, + "branch": 8, + "class": 4, + "linearIndex": 646, + "address": "0xeBD1886f0A0A3951dEA79438CEF9d3cB1e99714c", + "cellId": "EI-L03-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B08-C4" + }, + { + "lpbca": 3, + "branch": 8, + "class": 5, + "linearIndex": 647, + "address": "0x186704De32B562ea3DbeEA0aF606B35DAc992f76", + "cellId": "EI-L03-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B08-C5" + }, + { + "lpbca": 3, + "branch": 9, + "class": 0, + "linearIndex": 648, + "address": "0x432fe780cC8eA577F24823bA6b334A23d881BE31", + "cellId": "EI-L03-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B09-C0" + }, + { + "lpbca": 3, + "branch": 9, + "class": 1, + "linearIndex": 649, + "address": "0x676e9574206BF3F97Ef24c92B2f6F58eBCB414C4", + "cellId": "EI-L03-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B09-C1" + }, + { + "lpbca": 3, + "branch": 9, + "class": 2, + "linearIndex": 650, + "address": "0x0672b37c494C385559BAa9D77923aCDF70d945cB", + "cellId": "EI-L03-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B09-C2" + }, + { + "lpbca": 3, + "branch": 9, + "class": 3, + "linearIndex": 651, + "address": "0x4e7b40F5defdC4Fd33af6733aF70286b72E1aFe5", + "cellId": "EI-L03-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B09-C3" + }, + { + "lpbca": 3, + "branch": 9, + "class": 4, + "linearIndex": 652, + "address": "0xA80865CfA1b7bD5a81aeEcD925859Fd86A8b138D", + "cellId": "EI-L03-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B09-C4" + }, + { + "lpbca": 3, + "branch": 9, + "class": 5, + "linearIndex": 653, + "address": "0xe50F3286626c2f9adbBd67d2Ec0FD5Cbd40e21a7", + "cellId": "EI-L03-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B09-C5" + }, + { + "lpbca": 3, + "branch": 10, + "class": 0, + "linearIndex": 654, + "address": "0x71793dd0F3c2727DaE0067B4CFD6bAc498bC005e", + "cellId": "EI-L03-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B10-C0" + }, + { + "lpbca": 3, + "branch": 10, + "class": 1, + "linearIndex": 655, + "address": "0x849634E9Ac053204d2d378Df2AB84B1fD551D021", + "cellId": "EI-L03-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B10-C1" + }, + { + "lpbca": 3, + "branch": 10, + "class": 2, + "linearIndex": 656, + "address": "0x686d39A6d7b0Be8E81071D6B567bCd01cD69ba11", + "cellId": "EI-L03-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B10-C2" + }, + { + "lpbca": 3, + "branch": 10, + "class": 3, + "linearIndex": 657, + "address": "0x3d24bd926121c0dFf4D649a3E26b22A524B7E700", + "cellId": "EI-L03-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B10-C3" + }, + { + "lpbca": 3, + "branch": 10, + "class": 4, + "linearIndex": 658, + "address": "0x4F40f0e7c24BB2D580b7D997cfF3EfCc4F9F86A7", + "cellId": "EI-L03-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B10-C4" + }, + { + "lpbca": 3, + "branch": 10, + "class": 5, + "linearIndex": 659, + "address": "0x139CF4Abdb1AbdD7665ccBd83558bE4fd706E465", + "cellId": "EI-L03-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B10-C5" + }, + { + "lpbca": 3, + "branch": 11, + "class": 0, + "linearIndex": 660, + "address": "0x1ddBE3ca4E16b7B937F6421fdC48B418Bd3A9964", + "cellId": "EI-L03-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B11-C0" + }, + { + "lpbca": 3, + "branch": 11, + "class": 1, + "linearIndex": 661, + "address": "0xe02b1303ba84f0D2007c6eDeB8a9a407fd4a8ba2", + "cellId": "EI-L03-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B11-C1" + }, + { + "lpbca": 3, + "branch": 11, + "class": 2, + "linearIndex": 662, + "address": "0x6a1d5dEa5d34b9763EA18c643E1744BbBdE0184B", + "cellId": "EI-L03-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B11-C2" + }, + { + "lpbca": 3, + "branch": 11, + "class": 3, + "linearIndex": 663, + "address": "0x7b81f3f9FD47948F4f7eC2FB8641ae38334E20c3", + "cellId": "EI-L03-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B11-C3" + }, + { + "lpbca": 3, + "branch": 11, + "class": 4, + "linearIndex": 664, + "address": "0xb70f43336F42Cc9c95482767Ad905DEEC8C0FbEe", + "cellId": "EI-L03-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B11-C4" + }, + { + "lpbca": 3, + "branch": 11, + "class": 5, + "linearIndex": 665, + "address": "0x5fbB1F58C588715c68613A1e38fA82A1EAc5C73B", + "cellId": "EI-L03-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B11-C5" + }, + { + "lpbca": 3, + "branch": 12, + "class": 0, + "linearIndex": 666, + "address": "0x387E11Ae33c549E74D4Fe4E16F7Eb3378a82A58e", + "cellId": "EI-L03-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B12-C0" + }, + { + "lpbca": 3, + "branch": 12, + "class": 1, + "linearIndex": 667, + "address": "0x7e8e36A9062C515c50b8ea1F69562eBB3268Ec63", + "cellId": "EI-L03-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B12-C1" + }, + { + "lpbca": 3, + "branch": 12, + "class": 2, + "linearIndex": 668, + "address": "0xf9916608a0e18Cc40070DADae525FC866bd73326", + "cellId": "EI-L03-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B12-C2" + }, + { + "lpbca": 3, + "branch": 12, + "class": 3, + "linearIndex": 669, + "address": "0x5b934891D9f5C6491554db75EBF4a3C898ccf3A8", + "cellId": "EI-L03-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B12-C3" + }, + { + "lpbca": 3, + "branch": 12, + "class": 4, + "linearIndex": 670, + "address": "0x2B3DBdEc1459e10F382cEC61BbD6C0d1c496d49f", + "cellId": "EI-L03-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B12-C4" + }, + { + "lpbca": 3, + "branch": 12, + "class": 5, + "linearIndex": 671, + "address": "0x91aFe43c8ad0Ce3848D695285A1115BAf08dc2F8", + "cellId": "EI-L03-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B12-C5" + }, + { + "lpbca": 3, + "branch": 13, + "class": 0, + "linearIndex": 672, + "address": "0x7Ad52663A4D9Fc21bAF6db48d242e846Cc71Ebb9", + "cellId": "EI-L03-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B13-C0" + }, + { + "lpbca": 3, + "branch": 13, + "class": 1, + "linearIndex": 673, + "address": "0x9248Eb7b15E5ef823965dA9c3A100e40f274E73a", + "cellId": "EI-L03-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B13-C1" + }, + { + "lpbca": 3, + "branch": 13, + "class": 2, + "linearIndex": 674, + "address": "0xc56A5B6c5beC1f31eCC2c985c25B9aD1b5809724", + "cellId": "EI-L03-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B13-C2" + }, + { + "lpbca": 3, + "branch": 13, + "class": 3, + "linearIndex": 675, + "address": "0x9FE3d318CCDC0420561B0d467f4fbF91612D6212", + "cellId": "EI-L03-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B13-C3" + }, + { + "lpbca": 3, + "branch": 13, + "class": 4, + "linearIndex": 676, + "address": "0x8F4F4aB22760c837118F07019A53c62208fF382E", + "cellId": "EI-L03-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B13-C4" + }, + { + "lpbca": 3, + "branch": 13, + "class": 5, + "linearIndex": 677, + "address": "0x8b058F32bd70f2094B81248FC914c958901bb76b", + "cellId": "EI-L03-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B13-C5" + }, + { + "lpbca": 3, + "branch": 14, + "class": 0, + "linearIndex": 678, + "address": "0x5D267aD123cD0C83AE41f9fcab39D6e770DE12eA", + "cellId": "EI-L03-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B14-C0" + }, + { + "lpbca": 3, + "branch": 14, + "class": 1, + "linearIndex": 679, + "address": "0x2D39f0bBb7E7752Bf250B4b29B7d3218678c8865", + "cellId": "EI-L03-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B14-C1" + }, + { + "lpbca": 3, + "branch": 14, + "class": 2, + "linearIndex": 680, + "address": "0x1A7bfEE6cAC7C100c7B61f544cDA5cf8Fb16Ae44", + "cellId": "EI-L03-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B14-C2" + }, + { + "lpbca": 3, + "branch": 14, + "class": 3, + "linearIndex": 681, + "address": "0x9F13802D0B0634a197e9237Ae10134F5c8f3Ac47", + "cellId": "EI-L03-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B14-C3" + }, + { + "lpbca": 3, + "branch": 14, + "class": 4, + "linearIndex": 682, + "address": "0x06353bc951E6607fa7e8ED67C48e87aABA2CEC8F", + "cellId": "EI-L03-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B14-C4" + }, + { + "lpbca": 3, + "branch": 14, + "class": 5, + "linearIndex": 683, + "address": "0x9c014ed665C873a0CEd88795ee9aB17F619E2BbA", + "cellId": "EI-L03-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B14-C5" + }, + { + "lpbca": 3, + "branch": 15, + "class": 0, + "linearIndex": 684, + "address": "0x8aeF0FAaF16b7B200b11C868e0c51A0f4a180c2b", + "cellId": "EI-L03-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B15-C0" + }, + { + "lpbca": 3, + "branch": 15, + "class": 1, + "linearIndex": 685, + "address": "0xa9F4d311048c0545E83BcDC8C547f6366733CE28", + "cellId": "EI-L03-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B15-C1" + }, + { + "lpbca": 3, + "branch": 15, + "class": 2, + "linearIndex": 686, + "address": "0x2e800bEAFcCAe6b13AeE27156574E9bB4E1074bD", + "cellId": "EI-L03-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B15-C2" + }, + { + "lpbca": 3, + "branch": 15, + "class": 3, + "linearIndex": 687, + "address": "0xB01cFa8E1205F253b5A5CAB9d2825FD9A037D47D", + "cellId": "EI-L03-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B15-C3" + }, + { + "lpbca": 3, + "branch": 15, + "class": 4, + "linearIndex": 688, + "address": "0xf8e4506EaEd5eABaa88673efFea9e1089F5DAF4e", + "cellId": "EI-L03-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B15-C4" + }, + { + "lpbca": 3, + "branch": 15, + "class": 5, + "linearIndex": 689, + "address": "0xac488E3FF4F1F5cCC2743Ca2afaB6f0546f228B7", + "cellId": "EI-L03-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B15-C5" + }, + { + "lpbca": 3, + "branch": 16, + "class": 0, + "linearIndex": 690, + "address": "0x3A185d7D3Ce5Bf94f59E129011046E13b69497ec", + "cellId": "EI-L03-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B16-C0" + }, + { + "lpbca": 3, + "branch": 16, + "class": 1, + "linearIndex": 691, + "address": "0xeB38A732521687Bdb42C5667777b7BEc4e4A6C27", + "cellId": "EI-L03-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B16-C1" + }, + { + "lpbca": 3, + "branch": 16, + "class": 2, + "linearIndex": 692, + "address": "0x27EDd657bcc3efB73D939662Ef0D3C54b60aa53C", + "cellId": "EI-L03-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B16-C2" + }, + { + "lpbca": 3, + "branch": 16, + "class": 3, + "linearIndex": 693, + "address": "0xd482148C1A80Acc679b79F59c9d189A2DeF049C2", + "cellId": "EI-L03-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B16-C3" + }, + { + "lpbca": 3, + "branch": 16, + "class": 4, + "linearIndex": 694, + "address": "0xA16e500583F1b6e4ED84ba38240b238b9053542B", + "cellId": "EI-L03-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B16-C4" + }, + { + "lpbca": 3, + "branch": 16, + "class": 5, + "linearIndex": 695, + "address": "0x291703e8695e4aa42d512F14369cC12AFd84A71B", + "cellId": "EI-L03-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B16-C5" + }, + { + "lpbca": 3, + "branch": 17, + "class": 0, + "linearIndex": 696, + "address": "0x7fc59D925bB5cCf70047cd7e02e10b7E3e5A90AE", + "cellId": "EI-L03-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B17-C0" + }, + { + "lpbca": 3, + "branch": 17, + "class": 1, + "linearIndex": 697, + "address": "0xD0d2EE3eD1449EB46Ce7a189717cB5dd157855DD", + "cellId": "EI-L03-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B17-C1" + }, + { + "lpbca": 3, + "branch": 17, + "class": 2, + "linearIndex": 698, + "address": "0xf149B465e6ECDf278f9A20A54713cD8dDd3F3071", + "cellId": "EI-L03-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B17-C2" + }, + { + "lpbca": 3, + "branch": 17, + "class": 3, + "linearIndex": 699, + "address": "0x1e339d40787342253D0eb5dE7A7CF365d01FaC97", + "cellId": "EI-L03-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B17-C3" + }, + { + "lpbca": 3, + "branch": 17, + "class": 4, + "linearIndex": 700, + "address": "0x6E5e9ED757590CAfE4C19F2599DA3AcCE886397d", + "cellId": "EI-L03-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B17-C4" + }, + { + "lpbca": 3, + "branch": 17, + "class": 5, + "linearIndex": 701, + "address": "0x1f0aaf503a76021332Ce38deA94d5d44bc1cd2Aa", + "cellId": "EI-L03-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B17-C5" + }, + { + "lpbca": 3, + "branch": 18, + "class": 0, + "linearIndex": 702, + "address": "0x1c69b7A86016Ea63f5dd7700d79Efd1Ee46f7be7", + "cellId": "EI-L03-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B18-C0" + }, + { + "lpbca": 3, + "branch": 18, + "class": 1, + "linearIndex": 703, + "address": "0x62b198ED2f38E7f7F8b4D12cCDBC43D2EC787EfF", + "cellId": "EI-L03-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B18-C1" + }, + { + "lpbca": 3, + "branch": 18, + "class": 2, + "linearIndex": 704, + "address": "0xE6fec0583da80394D82d874Fbe304777Dde9f9ff", + "cellId": "EI-L03-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B18-C2" + }, + { + "lpbca": 3, + "branch": 18, + "class": 3, + "linearIndex": 705, + "address": "0xEE0D22a85FB9668ffFAe8B8b2595f62b6BC15E08", + "cellId": "EI-L03-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B18-C3" + }, + { + "lpbca": 3, + "branch": 18, + "class": 4, + "linearIndex": 706, + "address": "0xF988B7Fe34e318497AA64257EF4E137F819e061c", + "cellId": "EI-L03-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B18-C4" + }, + { + "lpbca": 3, + "branch": 18, + "class": 5, + "linearIndex": 707, + "address": "0xf1a9D324EB4bEDE71Bf9590C348fF774D8DE6AeA", + "cellId": "EI-L03-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B18-C5" + }, + { + "lpbca": 3, + "branch": 19, + "class": 0, + "linearIndex": 708, + "address": "0xcDeA101Acf6eC0dDb7900a5dABa11Ba079Fc6FD0", + "cellId": "EI-L03-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B19-C0" + }, + { + "lpbca": 3, + "branch": 19, + "class": 1, + "linearIndex": 709, + "address": "0x60CBe47b1cF4f40E208f0389c5971806E963bfe3", + "cellId": "EI-L03-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B19-C1" + }, + { + "lpbca": 3, + "branch": 19, + "class": 2, + "linearIndex": 710, + "address": "0xe53a4738F5b7eB7342d46E82B01B2E1DBd8974c9", + "cellId": "EI-L03-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B19-C2" + }, + { + "lpbca": 3, + "branch": 19, + "class": 3, + "linearIndex": 711, + "address": "0xc406ec74CA6cb44b3C3bcd2406BA3f7abc5bdB8F", + "cellId": "EI-L03-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B19-C3" + }, + { + "lpbca": 3, + "branch": 19, + "class": 4, + "linearIndex": 712, + "address": "0x4A91eb0d88E2fBFcBB871bf7FF42cEC715Af943F", + "cellId": "EI-L03-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B19-C4" + }, + { + "lpbca": 3, + "branch": 19, + "class": 5, + "linearIndex": 713, + "address": "0xd65723B4849Eada27c283Da02E931377006E19ee", + "cellId": "EI-L03-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B19-C5" + }, + { + "lpbca": 3, + "branch": 20, + "class": 0, + "linearIndex": 714, + "address": "0x1CD7CC4158dFA8128De82F0E075A599d99eD0202", + "cellId": "EI-L03-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B20-C0" + }, + { + "lpbca": 3, + "branch": 20, + "class": 1, + "linearIndex": 715, + "address": "0x8768d1B8DFE989739CdD9F834E808770672d1bdC", + "cellId": "EI-L03-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B20-C1" + }, + { + "lpbca": 3, + "branch": 20, + "class": 2, + "linearIndex": 716, + "address": "0xDa8afeAD9a6d6510f680f9AC0a75D6E1DeF3Aae6", + "cellId": "EI-L03-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B20-C2" + }, + { + "lpbca": 3, + "branch": 20, + "class": 3, + "linearIndex": 717, + "address": "0xb5602Db9284A870Df09659E18Af53D327E5ED934", + "cellId": "EI-L03-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B20-C3" + }, + { + "lpbca": 3, + "branch": 20, + "class": 4, + "linearIndex": 718, + "address": "0xc972FD79D9c5Da07dA0B918Fad4e80DBD58C4fb0", + "cellId": "EI-L03-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B20-C4" + }, + { + "lpbca": 3, + "branch": 20, + "class": 5, + "linearIndex": 719, + "address": "0x05231DE37c68638D6F843c259Cd538F6f5514914", + "cellId": "EI-L03-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B20-C5" + }, + { + "lpbca": 3, + "branch": 21, + "class": 0, + "linearIndex": 720, + "address": "0x06aef28F04f54d210684521E1aDAECcFaCfa2929", + "cellId": "EI-L03-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B21-C0" + }, + { + "lpbca": 3, + "branch": 21, + "class": 1, + "linearIndex": 721, + "address": "0x85e62Fe31D4AC9C88CD3096F7d96B8fFbF71fE0e", + "cellId": "EI-L03-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B21-C1" + }, + { + "lpbca": 3, + "branch": 21, + "class": 2, + "linearIndex": 722, + "address": "0x88AA5778ce75561F3539872E8a07Cbbc75F62Ba8", + "cellId": "EI-L03-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B21-C2" + }, + { + "lpbca": 3, + "branch": 21, + "class": 3, + "linearIndex": 723, + "address": "0x84bceC2a9D22f2C6a88333341C40c239FA8eC8dc", + "cellId": "EI-L03-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B21-C3" + }, + { + "lpbca": 3, + "branch": 21, + "class": 4, + "linearIndex": 724, + "address": "0xBf3e2728D3C9824FF33D34FFC6cFa02700Ca221a", + "cellId": "EI-L03-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B21-C4" + }, + { + "lpbca": 3, + "branch": 21, + "class": 5, + "linearIndex": 725, + "address": "0x414B99060a274C94456e07651a5D09833a20e1E2", + "cellId": "EI-L03-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B21-C5" + }, + { + "lpbca": 3, + "branch": 22, + "class": 0, + "linearIndex": 726, + "address": "0x090e44B2F73808aab10696F601bdfb6c092f147A", + "cellId": "EI-L03-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B22-C0" + }, + { + "lpbca": 3, + "branch": 22, + "class": 1, + "linearIndex": 727, + "address": "0xcFf63C951AfB7A2b23076e3c7b9DA5b8E4168345", + "cellId": "EI-L03-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B22-C1" + }, + { + "lpbca": 3, + "branch": 22, + "class": 2, + "linearIndex": 728, + "address": "0xbAAd7A628Ddea15e79ad76141F691c4d49F4A54C", + "cellId": "EI-L03-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B22-C2" + }, + { + "lpbca": 3, + "branch": 22, + "class": 3, + "linearIndex": 729, + "address": "0x37fe338695f0e9F7f48B3f74001cDa5a8d0EBff9", + "cellId": "EI-L03-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B22-C3" + }, + { + "lpbca": 3, + "branch": 22, + "class": 4, + "linearIndex": 730, + "address": "0xdd072a68f36bA3A95Df84cbce81DF6D7d8855645", + "cellId": "EI-L03-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B22-C4" + }, + { + "lpbca": 3, + "branch": 22, + "class": 5, + "linearIndex": 731, + "address": "0xD762664dc37a97ea9CFcc507FAbc922cd9DA8eF2", + "cellId": "EI-L03-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B22-C5" + }, + { + "lpbca": 3, + "branch": 23, + "class": 0, + "linearIndex": 732, + "address": "0x978a32Eee38c7D41fc740dF70a0358d923Ab6b13", + "cellId": "EI-L03-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B23-C0" + }, + { + "lpbca": 3, + "branch": 23, + "class": 1, + "linearIndex": 733, + "address": "0x5A2178D3082a3350b843784C169041aee8b04A14", + "cellId": "EI-L03-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B23-C1" + }, + { + "lpbca": 3, + "branch": 23, + "class": 2, + "linearIndex": 734, + "address": "0xB29A9b3608E9CAED5C205a44D5D8cA85Bf0b0aa9", + "cellId": "EI-L03-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B23-C2" + }, + { + "lpbca": 3, + "branch": 23, + "class": 3, + "linearIndex": 735, + "address": "0xDED8065a11D969709DE2D8C37Ed251A1Ede1408c", + "cellId": "EI-L03-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B23-C3" + }, + { + "lpbca": 3, + "branch": 23, + "class": 4, + "linearIndex": 736, + "address": "0xAA33742D3C7aA5418066678B6E2EE5A61DD173F5", + "cellId": "EI-L03-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B23-C4" + }, + { + "lpbca": 3, + "branch": 23, + "class": 5, + "linearIndex": 737, + "address": "0xc2B99F9fFb715c619b4995306D8ACA9e41987C06", + "cellId": "EI-L03-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B23-C5" + }, + { + "lpbca": 3, + "branch": 24, + "class": 0, + "linearIndex": 738, + "address": "0x7Dbb5eF4A8a95722Ac1410BE79bA23ae9Edb0e5e", + "cellId": "EI-L03-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B24-C0" + }, + { + "lpbca": 3, + "branch": 24, + "class": 1, + "linearIndex": 739, + "address": "0x2e4915ce27214B05eb25ED04aF4AC6a0dBbf55DF", + "cellId": "EI-L03-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B24-C1" + }, + { + "lpbca": 3, + "branch": 24, + "class": 2, + "linearIndex": 740, + "address": "0x92Cfb9334CC4Bc4c90cf8c32076a72fb18c60Ea2", + "cellId": "EI-L03-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B24-C2" + }, + { + "lpbca": 3, + "branch": 24, + "class": 3, + "linearIndex": 741, + "address": "0x02cE4549864d816c3Ce6163Ce6458439A3Ef6D18", + "cellId": "EI-L03-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B24-C3" + }, + { + "lpbca": 3, + "branch": 24, + "class": 4, + "linearIndex": 742, + "address": "0x00f65CaaDEa58950d3B6e266890548f4f3c2249C", + "cellId": "EI-L03-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B24-C4" + }, + { + "lpbca": 3, + "branch": 24, + "class": 5, + "linearIndex": 743, + "address": "0xdAbA8F9BF89B12645Dc994a4F7a40aE5702B548C", + "cellId": "EI-L03-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B24-C5" + }, + { + "lpbca": 3, + "branch": 25, + "class": 0, + "linearIndex": 744, + "address": "0x95779eD42E650cba9Bff237B55f763cBd48d798C", + "cellId": "EI-L03-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B25-C0" + }, + { + "lpbca": 3, + "branch": 25, + "class": 1, + "linearIndex": 745, + "address": "0x9CF77B33DbB6C3f4006B8451f849B6c739E4A393", + "cellId": "EI-L03-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B25-C1" + }, + { + "lpbca": 3, + "branch": 25, + "class": 2, + "linearIndex": 746, + "address": "0x00dD6ce2014f7D6688Ef54a5ede19C2aA2534C6F", + "cellId": "EI-L03-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B25-C2" + }, + { + "lpbca": 3, + "branch": 25, + "class": 3, + "linearIndex": 747, + "address": "0xA6D9e03AEF42e0e2B35d8fa2bd29F67b9a6044C4", + "cellId": "EI-L03-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B25-C3" + }, + { + "lpbca": 3, + "branch": 25, + "class": 4, + "linearIndex": 748, + "address": "0x128A7d2084F7D8a45937730829CdaFfCdea28D05", + "cellId": "EI-L03-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B25-C4" + }, + { + "lpbca": 3, + "branch": 25, + "class": 5, + "linearIndex": 749, + "address": "0xeb030A37421994cE0aCdfb866A02E2781ae8bDd5", + "cellId": "EI-L03-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B25-C5" + }, + { + "lpbca": 3, + "branch": 26, + "class": 0, + "linearIndex": 750, + "address": "0x942120749359af7393E45D8a5802B3677B788ed1", + "cellId": "EI-L03-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B26-C0" + }, + { + "lpbca": 3, + "branch": 26, + "class": 1, + "linearIndex": 751, + "address": "0x77a5E56638decd3e8900c44992a411c15440f975", + "cellId": "EI-L03-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B26-C1" + }, + { + "lpbca": 3, + "branch": 26, + "class": 2, + "linearIndex": 752, + "address": "0x7Ab12c4862E9d11a04d66A7de029cCC275Ff24f3", + "cellId": "EI-L03-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B26-C2" + }, + { + "lpbca": 3, + "branch": 26, + "class": 3, + "linearIndex": 753, + "address": "0xfCE30b23BeFD3aE066a885f275b538f0f16c39A7", + "cellId": "EI-L03-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B26-C3" + }, + { + "lpbca": 3, + "branch": 26, + "class": 4, + "linearIndex": 754, + "address": "0xBfF1eA1ED05d969CA88BdeB57d4d72D40F89AD63", + "cellId": "EI-L03-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B26-C4" + }, + { + "lpbca": 3, + "branch": 26, + "class": 5, + "linearIndex": 755, + "address": "0xEe81788d5eFa079767b4f582d3851444c3dEC7d3", + "cellId": "EI-L03-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B26-C5" + }, + { + "lpbca": 3, + "branch": 27, + "class": 0, + "linearIndex": 756, + "address": "0xEBf5292A86D8723a4209fDF38e9FE5ABeF602fF1", + "cellId": "EI-L03-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B27-C0" + }, + { + "lpbca": 3, + "branch": 27, + "class": 1, + "linearIndex": 757, + "address": "0xBc300aB9Cf4c762d8d3Eb657568248375B7e1C96", + "cellId": "EI-L03-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B27-C1" + }, + { + "lpbca": 3, + "branch": 27, + "class": 2, + "linearIndex": 758, + "address": "0x52ac5DC1e689c75225A596f474a4d600317b13BE", + "cellId": "EI-L03-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B27-C2" + }, + { + "lpbca": 3, + "branch": 27, + "class": 3, + "linearIndex": 759, + "address": "0x94368B35f9d95b1e84A5377fFD32c8A97E4E89E0", + "cellId": "EI-L03-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B27-C3" + }, + { + "lpbca": 3, + "branch": 27, + "class": 4, + "linearIndex": 760, + "address": "0xa978e602549F033FF34D69bd2F2B03De60fD7342", + "cellId": "EI-L03-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B27-C4" + }, + { + "lpbca": 3, + "branch": 27, + "class": 5, + "linearIndex": 761, + "address": "0x88573c1C8430000864667bbCE5bD7bd22511d904", + "cellId": "EI-L03-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B27-C5" + }, + { + "lpbca": 3, + "branch": 28, + "class": 0, + "linearIndex": 762, + "address": "0xF1CBd7eDDC08dB49e4a45B4092c55482EF4e54F8", + "cellId": "EI-L03-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B28-C0" + }, + { + "lpbca": 3, + "branch": 28, + "class": 1, + "linearIndex": 763, + "address": "0xD2f703af8e087A4341108a8C6b4A20B46e63e100", + "cellId": "EI-L03-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B28-C1" + }, + { + "lpbca": 3, + "branch": 28, + "class": 2, + "linearIndex": 764, + "address": "0x31e30944bc882e13E52Ae6599bdf754fCc14f605", + "cellId": "EI-L03-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B28-C2" + }, + { + "lpbca": 3, + "branch": 28, + "class": 3, + "linearIndex": 765, + "address": "0xBE0A3a5c15dF2c9756C6a46341793FE8bAd7a269", + "cellId": "EI-L03-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B28-C3" + }, + { + "lpbca": 3, + "branch": 28, + "class": 4, + "linearIndex": 766, + "address": "0x539E494Db17daCb0446De2874baC4e2B1278EC9b", + "cellId": "EI-L03-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B28-C4" + }, + { + "lpbca": 3, + "branch": 28, + "class": 5, + "linearIndex": 767, + "address": "0xda5a590C14Ce6Ef6d973d1fDA7A4882C80c42071", + "cellId": "EI-L03-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B28-C5" + }, + { + "lpbca": 3, + "branch": 29, + "class": 0, + "linearIndex": 768, + "address": "0x06e49ffa161775473273166b0D6ae4fb6D29E320", + "cellId": "EI-L03-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B29-C0" + }, + { + "lpbca": 3, + "branch": 29, + "class": 1, + "linearIndex": 769, + "address": "0xd26992D66cCF1E2B3F143a8b36866B92E157d62b", + "cellId": "EI-L03-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B29-C1" + }, + { + "lpbca": 3, + "branch": 29, + "class": 2, + "linearIndex": 770, + "address": "0x1aC61f8F2ad5588300c2a967257db85C167aA877", + "cellId": "EI-L03-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B29-C2" + }, + { + "lpbca": 3, + "branch": 29, + "class": 3, + "linearIndex": 771, + "address": "0xC530F7Fcf2bEb3303586653ad0fc07FA434535eA", + "cellId": "EI-L03-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B29-C3" + }, + { + "lpbca": 3, + "branch": 29, + "class": 4, + "linearIndex": 772, + "address": "0x154cd2B096175C9327A691318A659F15b0E00030", + "cellId": "EI-L03-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B29-C4" + }, + { + "lpbca": 3, + "branch": 29, + "class": 5, + "linearIndex": 773, + "address": "0x2a62E424dF7e72eBE0c2Cf95ea8507233326ae25", + "cellId": "EI-L03-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B29-C5" + }, + { + "lpbca": 3, + "branch": 30, + "class": 0, + "linearIndex": 774, + "address": "0xA40Be9BB1c1B1ebfF1996cE5b8A28e2196eFbe16", + "cellId": "EI-L03-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B30-C0" + }, + { + "lpbca": 3, + "branch": 30, + "class": 1, + "linearIndex": 775, + "address": "0x07D2226F6BBB9A56a37991Db4D6FDC12101f6940", + "cellId": "EI-L03-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B30-C1" + }, + { + "lpbca": 3, + "branch": 30, + "class": 2, + "linearIndex": 776, + "address": "0x97527De14619b6A8e9b4721F78eb5651f7D84b10", + "cellId": "EI-L03-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B30-C2" + }, + { + "lpbca": 3, + "branch": 30, + "class": 3, + "linearIndex": 777, + "address": "0xe9c830e373a506A2F1e747b8134e51a7A58cfdb8", + "cellId": "EI-L03-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B30-C3" + }, + { + "lpbca": 3, + "branch": 30, + "class": 4, + "linearIndex": 778, + "address": "0x47711D6DA5572cd1eB4f3419f769c3Fd0369B41f", + "cellId": "EI-L03-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B30-C4" + }, + { + "lpbca": 3, + "branch": 30, + "class": 5, + "linearIndex": 779, + "address": "0x0933A0CF4821e45a4C747c7c60EC27e1C4Ae4288", + "cellId": "EI-L03-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B30-C5" + }, + { + "lpbca": 3, + "branch": 31, + "class": 0, + "linearIndex": 780, + "address": "0xDFf954d94cA6e4939E42d2B616F9E779Fe350E6A", + "cellId": "EI-L03-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B31-C0" + }, + { + "lpbca": 3, + "branch": 31, + "class": 1, + "linearIndex": 781, + "address": "0xF56D70d9Dc6FC7bc91Bc156975C8Bc5ef5Ae48D2", + "cellId": "EI-L03-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B31-C1" + }, + { + "lpbca": 3, + "branch": 31, + "class": 2, + "linearIndex": 782, + "address": "0x38d1413BE3f83021D7123A11e45990F5Ec99384C", + "cellId": "EI-L03-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B31-C2" + }, + { + "lpbca": 3, + "branch": 31, + "class": 3, + "linearIndex": 783, + "address": "0x7A5ab7bd0b6a697E6eaF02130287D7af034B1096", + "cellId": "EI-L03-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B31-C3" + }, + { + "lpbca": 3, + "branch": 31, + "class": 4, + "linearIndex": 784, + "address": "0x7e8192cB43FFEF2c09b94e0e5fA5D365CB2c9864", + "cellId": "EI-L03-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B31-C4" + }, + { + "lpbca": 3, + "branch": 31, + "class": 5, + "linearIndex": 785, + "address": "0x1AE3cc37033e479DD249b168E40479d9f1543106", + "cellId": "EI-L03-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B31-C5" + }, + { + "lpbca": 3, + "branch": 32, + "class": 0, + "linearIndex": 786, + "address": "0x690A5b567666685C1f78DAB1B5add0B0e22F2046", + "cellId": "EI-L03-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B32-C0" + }, + { + "lpbca": 3, + "branch": 32, + "class": 1, + "linearIndex": 787, + "address": "0xB37be1951F2bb1a1Ca4807E71207d62d1BE2D0f0", + "cellId": "EI-L03-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B32-C1" + }, + { + "lpbca": 3, + "branch": 32, + "class": 2, + "linearIndex": 788, + "address": "0x0272e302d43944cE7E0cDe8F654C5F66816102f9", + "cellId": "EI-L03-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B32-C2" + }, + { + "lpbca": 3, + "branch": 32, + "class": 3, + "linearIndex": 789, + "address": "0x1613286E051A7Ebc04190cfaFdc1E21Be2Fc9930", + "cellId": "EI-L03-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B32-C3" + }, + { + "lpbca": 3, + "branch": 32, + "class": 4, + "linearIndex": 790, + "address": "0xA98974ed6c395FA000FCa474A4874CB6C65Fd5F6", + "cellId": "EI-L03-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B32-C4" + }, + { + "lpbca": 3, + "branch": 32, + "class": 5, + "linearIndex": 791, + "address": "0x629DeD8658cDc37E63A4D0601b65cF6623e8927b", + "cellId": "EI-L03-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L03-B32-C5" + }, + { + "lpbca": 4, + "branch": 0, + "class": 0, + "linearIndex": 792, + "address": "0x13688cb7DA0f010b9FFc389c46f81E10dB400B1f", + "cellId": "EI-L04-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B00-C0" + }, + { + "lpbca": 4, + "branch": 0, + "class": 1, + "linearIndex": 793, + "address": "0x3336725e6Cf4a1E941FA7b55255149308aB595D7", + "cellId": "EI-L04-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B00-C1" + }, + { + "lpbca": 4, + "branch": 0, + "class": 2, + "linearIndex": 794, + "address": "0xf3d1351d045170bC8DE7d9390B03e491B63AA1de", + "cellId": "EI-L04-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B00-C2" + }, + { + "lpbca": 4, + "branch": 0, + "class": 3, + "linearIndex": 795, + "address": "0x28B2fb0b50199CEd17b1a9e81304e30AAF15ed3b", + "cellId": "EI-L04-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B00-C3" + }, + { + "lpbca": 4, + "branch": 0, + "class": 4, + "linearIndex": 796, + "address": "0x5dEf1D20a17E46ba1d910707cDe22ce971CF73Bf", + "cellId": "EI-L04-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B00-C4" + }, + { + "lpbca": 4, + "branch": 0, + "class": 5, + "linearIndex": 797, + "address": "0xC7Af8a696A0aD91b938F8e3EA0A3349f0303aB9b", + "cellId": "EI-L04-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B00-C5" + }, + { + "lpbca": 4, + "branch": 1, + "class": 0, + "linearIndex": 798, + "address": "0xDEA3F4bAf05d6B60D4ad87CA3C533a4170CAaD84", + "cellId": "EI-L04-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B01-C0" + }, + { + "lpbca": 4, + "branch": 1, + "class": 1, + "linearIndex": 799, + "address": "0x9Dbe1680fFa3aF3fFcF7b530D00b8de004F43C57", + "cellId": "EI-L04-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B01-C1" + }, + { + "lpbca": 4, + "branch": 1, + "class": 2, + "linearIndex": 800, + "address": "0xF98BD99de893Eec335a8FB28671F8Ed3875bd785", + "cellId": "EI-L04-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B01-C2" + }, + { + "lpbca": 4, + "branch": 1, + "class": 3, + "linearIndex": 801, + "address": "0x9d15b8eF57Db605fEf6e4d0Ac33A58C1733442b0", + "cellId": "EI-L04-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B01-C3" + }, + { + "lpbca": 4, + "branch": 1, + "class": 4, + "linearIndex": 802, + "address": "0x889b576ccE182e81bEDB7056Aad1Af7C2c0BE97d", + "cellId": "EI-L04-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B01-C4" + }, + { + "lpbca": 4, + "branch": 1, + "class": 5, + "linearIndex": 803, + "address": "0x66974d2664ba1D0D99742D220aC8828746A14649", + "cellId": "EI-L04-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B01-C5" + }, + { + "lpbca": 4, + "branch": 2, + "class": 0, + "linearIndex": 804, + "address": "0xE2766Bda48CE4D4d63cF650948347F7DaF5C0E80", + "cellId": "EI-L04-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B02-C0" + }, + { + "lpbca": 4, + "branch": 2, + "class": 1, + "linearIndex": 805, + "address": "0x6d70A90c05Ee705bA427684000D8c1286A62F523", + "cellId": "EI-L04-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B02-C1" + }, + { + "lpbca": 4, + "branch": 2, + "class": 2, + "linearIndex": 806, + "address": "0xb525FEff644CC6F7F0CCF253c0deEC2e8e75770F", + "cellId": "EI-L04-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B02-C2" + }, + { + "lpbca": 4, + "branch": 2, + "class": 3, + "linearIndex": 807, + "address": "0x7186f1417638fCe97df80A1b21FA3ffF493A8551", + "cellId": "EI-L04-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B02-C3" + }, + { + "lpbca": 4, + "branch": 2, + "class": 4, + "linearIndex": 808, + "address": "0x4930485e8f06D2797F33A93c2E1f5884f2CDe2a8", + "cellId": "EI-L04-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B02-C4" + }, + { + "lpbca": 4, + "branch": 2, + "class": 5, + "linearIndex": 809, + "address": "0xf2278cB065D4dfE9B7991BD6fA125587cA0CCa8A", + "cellId": "EI-L04-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B02-C5" + }, + { + "lpbca": 4, + "branch": 3, + "class": 0, + "linearIndex": 810, + "address": "0xc0d2b9856bE3c4567a5f5E19419841Cc770b14Ad", + "cellId": "EI-L04-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B03-C0" + }, + { + "lpbca": 4, + "branch": 3, + "class": 1, + "linearIndex": 811, + "address": "0x66C0504986593F756Faf933536E8193FBBe4986B", + "cellId": "EI-L04-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B03-C1" + }, + { + "lpbca": 4, + "branch": 3, + "class": 2, + "linearIndex": 812, + "address": "0x6529F4ad0D8878449eB7b9d06cC42dde35165CA8", + "cellId": "EI-L04-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B03-C2" + }, + { + "lpbca": 4, + "branch": 3, + "class": 3, + "linearIndex": 813, + "address": "0xe64aA2efd6A338938c4f61B509efCa40a9a60Dd6", + "cellId": "EI-L04-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B03-C3" + }, + { + "lpbca": 4, + "branch": 3, + "class": 4, + "linearIndex": 814, + "address": "0x15C28fCD62DAaDe329A184193e87BAC4D91C4552", + "cellId": "EI-L04-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B03-C4" + }, + { + "lpbca": 4, + "branch": 3, + "class": 5, + "linearIndex": 815, + "address": "0x81B5a8d401916bf7a7Bf4ca4B04fd38cBca95AC9", + "cellId": "EI-L04-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B03-C5" + }, + { + "lpbca": 4, + "branch": 4, + "class": 0, + "linearIndex": 816, + "address": "0x57C329eafcaA8F00f1AfC30B84A6f40f7EccD9C8", + "cellId": "EI-L04-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B04-C0" + }, + { + "lpbca": 4, + "branch": 4, + "class": 1, + "linearIndex": 817, + "address": "0x3C7C892fBb62719196e034241CFcDA57fc50D301", + "cellId": "EI-L04-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B04-C1" + }, + { + "lpbca": 4, + "branch": 4, + "class": 2, + "linearIndex": 818, + "address": "0x7d1F125f7be575b2A104EE6D0b484dd7551d1691", + "cellId": "EI-L04-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B04-C2" + }, + { + "lpbca": 4, + "branch": 4, + "class": 3, + "linearIndex": 819, + "address": "0x6307563a2A6193FA0eE45Aef3120e47bAFb20962", + "cellId": "EI-L04-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B04-C3" + }, + { + "lpbca": 4, + "branch": 4, + "class": 4, + "linearIndex": 820, + "address": "0xd1251FD6335E01E2d51D41DA4cd8783BfED1E0cB", + "cellId": "EI-L04-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B04-C4" + }, + { + "lpbca": 4, + "branch": 4, + "class": 5, + "linearIndex": 821, + "address": "0x0DDD7247300949CA78aB8f40fDff03c4941BAccf", + "cellId": "EI-L04-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B04-C5" + }, + { + "lpbca": 4, + "branch": 5, + "class": 0, + "linearIndex": 822, + "address": "0x82a856A26b8DF2Ea013019b836d21B3EC4522801", + "cellId": "EI-L04-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B05-C0" + }, + { + "lpbca": 4, + "branch": 5, + "class": 1, + "linearIndex": 823, + "address": "0x03013EAb3BBab367Ac415D7FeD84c6067aFDeD6C", + "cellId": "EI-L04-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B05-C1" + }, + { + "lpbca": 4, + "branch": 5, + "class": 2, + "linearIndex": 824, + "address": "0xbF683C70F063c2317b71aF6e195Fd0D688913239", + "cellId": "EI-L04-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B05-C2" + }, + { + "lpbca": 4, + "branch": 5, + "class": 3, + "linearIndex": 825, + "address": "0x5bC8B45FF0dC25338eeF5cB15324FfEF98578604", + "cellId": "EI-L04-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B05-C3" + }, + { + "lpbca": 4, + "branch": 5, + "class": 4, + "linearIndex": 826, + "address": "0x64F11ECA5aEBc0510356A1e244D3aE51461e20DF", + "cellId": "EI-L04-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B05-C4" + }, + { + "lpbca": 4, + "branch": 5, + "class": 5, + "linearIndex": 827, + "address": "0x13cE6D784a4878da4aB480BDE47a39E31aDF4BE2", + "cellId": "EI-L04-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B05-C5" + }, + { + "lpbca": 4, + "branch": 6, + "class": 0, + "linearIndex": 828, + "address": "0xd2dE18476402edE559801325f8CA91D115f4A8aD", + "cellId": "EI-L04-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B06-C0" + }, + { + "lpbca": 4, + "branch": 6, + "class": 1, + "linearIndex": 829, + "address": "0x7EF2df4696f159441ba225c80eCD81fD044bE0ca", + "cellId": "EI-L04-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B06-C1" + }, + { + "lpbca": 4, + "branch": 6, + "class": 2, + "linearIndex": 830, + "address": "0xDABd427ED45f4997678aA990Cecd8fc798D8855D", + "cellId": "EI-L04-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B06-C2" + }, + { + "lpbca": 4, + "branch": 6, + "class": 3, + "linearIndex": 831, + "address": "0xcA838183e849A3E29E6882E51970Ac417Acf333D", + "cellId": "EI-L04-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B06-C3" + }, + { + "lpbca": 4, + "branch": 6, + "class": 4, + "linearIndex": 832, + "address": "0x9b29Ea4415ba0B379540b0535aAA787F13D19DE9", + "cellId": "EI-L04-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B06-C4" + }, + { + "lpbca": 4, + "branch": 6, + "class": 5, + "linearIndex": 833, + "address": "0xf55752bE0a8a9a17d6Ea286478224bD69607fa56", + "cellId": "EI-L04-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B06-C5" + }, + { + "lpbca": 4, + "branch": 7, + "class": 0, + "linearIndex": 834, + "address": "0x901ca1A509bCF8A5cc25D7875821AB22969064A8", + "cellId": "EI-L04-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B07-C0" + }, + { + "lpbca": 4, + "branch": 7, + "class": 1, + "linearIndex": 835, + "address": "0xE02147BEE88E4f5C2b5b128D022DF119AE5f37C4", + "cellId": "EI-L04-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B07-C1" + }, + { + "lpbca": 4, + "branch": 7, + "class": 2, + "linearIndex": 836, + "address": "0x168636093EfD5CAC5F8e7EA7fB1831A73B516D22", + "cellId": "EI-L04-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B07-C2" + }, + { + "lpbca": 4, + "branch": 7, + "class": 3, + "linearIndex": 837, + "address": "0x694Ba45E9cA1aeFb56365d5F7EbB2C1B04eA9184", + "cellId": "EI-L04-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B07-C3" + }, + { + "lpbca": 4, + "branch": 7, + "class": 4, + "linearIndex": 838, + "address": "0x8C05696F9cfaBee98488F6CA17055FA8E2469217", + "cellId": "EI-L04-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B07-C4" + }, + { + "lpbca": 4, + "branch": 7, + "class": 5, + "linearIndex": 839, + "address": "0x70Ec337563abb5fbA505E0C925642ba285cEbDbA", + "cellId": "EI-L04-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B07-C5" + }, + { + "lpbca": 4, + "branch": 8, + "class": 0, + "linearIndex": 840, + "address": "0xe31405bAc8F3E559b0542E3a7c58484C7E7857c5", + "cellId": "EI-L04-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B08-C0" + }, + { + "lpbca": 4, + "branch": 8, + "class": 1, + "linearIndex": 841, + "address": "0x20EA21B09BDb5C869dfBd6D7160fe17260cb31c7", + "cellId": "EI-L04-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B08-C1" + }, + { + "lpbca": 4, + "branch": 8, + "class": 2, + "linearIndex": 842, + "address": "0x7abC4a2d299A8f5903eA6b3c2E89e534ab07b6eE", + "cellId": "EI-L04-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B08-C2" + }, + { + "lpbca": 4, + "branch": 8, + "class": 3, + "linearIndex": 843, + "address": "0x6682Ea65FA6CCbD91a0de1b859d3Fc13820007Eb", + "cellId": "EI-L04-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B08-C3" + }, + { + "lpbca": 4, + "branch": 8, + "class": 4, + "linearIndex": 844, + "address": "0x8459BaAbB8307ce03a84a40a4D7AFC7D9515DC5D", + "cellId": "EI-L04-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B08-C4" + }, + { + "lpbca": 4, + "branch": 8, + "class": 5, + "linearIndex": 845, + "address": "0x758019779fC156e01919EffAB54A2E809A76Af54", + "cellId": "EI-L04-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B08-C5" + }, + { + "lpbca": 4, + "branch": 9, + "class": 0, + "linearIndex": 846, + "address": "0xbA5B22843A322093C54bF7fCf531BFc0577D694c", + "cellId": "EI-L04-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B09-C0" + }, + { + "lpbca": 4, + "branch": 9, + "class": 1, + "linearIndex": 847, + "address": "0x546A87D7bBd45eA0C43d31BF5978b7bf91baF7C9", + "cellId": "EI-L04-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B09-C1" + }, + { + "lpbca": 4, + "branch": 9, + "class": 2, + "linearIndex": 848, + "address": "0xb3316553d521181d92cd93695b55D8A766245220", + "cellId": "EI-L04-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B09-C2" + }, + { + "lpbca": 4, + "branch": 9, + "class": 3, + "linearIndex": 849, + "address": "0xaB8B66A604ac9e98AbBFa7836308a97dEFFFFf3B", + "cellId": "EI-L04-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B09-C3" + }, + { + "lpbca": 4, + "branch": 9, + "class": 4, + "linearIndex": 850, + "address": "0x3a85D70a942a627DC30CbC298Df9d288e245A30a", + "cellId": "EI-L04-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B09-C4" + }, + { + "lpbca": 4, + "branch": 9, + "class": 5, + "linearIndex": 851, + "address": "0x5da0C95498140c7BF5F89723F3Ab95cE7768C8fA", + "cellId": "EI-L04-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B09-C5" + }, + { + "lpbca": 4, + "branch": 10, + "class": 0, + "linearIndex": 852, + "address": "0x8125d2D39C7fDb561C031B59159dea5A78743336", + "cellId": "EI-L04-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B10-C0" + }, + { + "lpbca": 4, + "branch": 10, + "class": 1, + "linearIndex": 853, + "address": "0x6aE2fB0E835e3109E39BFd0f20Bc94DBF694216E", + "cellId": "EI-L04-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B10-C1" + }, + { + "lpbca": 4, + "branch": 10, + "class": 2, + "linearIndex": 854, + "address": "0xC02DDe7F78AF2B6E39B32EBD485d2A165a2Aa309", + "cellId": "EI-L04-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B10-C2" + }, + { + "lpbca": 4, + "branch": 10, + "class": 3, + "linearIndex": 855, + "address": "0x43f04E1D446F3F043323BD1287D039C2733DE58d", + "cellId": "EI-L04-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B10-C3" + }, + { + "lpbca": 4, + "branch": 10, + "class": 4, + "linearIndex": 856, + "address": "0xf966AbE52882374Cb3d06EfD9a4C38B60Eb55F1E", + "cellId": "EI-L04-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B10-C4" + }, + { + "lpbca": 4, + "branch": 10, + "class": 5, + "linearIndex": 857, + "address": "0xd9FC8416eb5F5BE52F84C9AAB4b7D37F6138d198", + "cellId": "EI-L04-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B10-C5" + }, + { + "lpbca": 4, + "branch": 11, + "class": 0, + "linearIndex": 858, + "address": "0xE0DcF32EE1b7DE4C8c2873570bf186cdA5667Cef", + "cellId": "EI-L04-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B11-C0" + }, + { + "lpbca": 4, + "branch": 11, + "class": 1, + "linearIndex": 859, + "address": "0x86488d8b7d71Ac46C3b543Cd4A945b967105b2A7", + "cellId": "EI-L04-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B11-C1" + }, + { + "lpbca": 4, + "branch": 11, + "class": 2, + "linearIndex": 860, + "address": "0xC3a6AE4C343331EF91aE69B28aeD3dDD32a0C04b", + "cellId": "EI-L04-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B11-C2" + }, + { + "lpbca": 4, + "branch": 11, + "class": 3, + "linearIndex": 861, + "address": "0x483Dd8c9B2Df6e1C8DF741346Fb0c91EE20012dD", + "cellId": "EI-L04-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B11-C3" + }, + { + "lpbca": 4, + "branch": 11, + "class": 4, + "linearIndex": 862, + "address": "0x9b8132ACA1C55e2DDd06DF953c5f1C8FFAE3EbbC", + "cellId": "EI-L04-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B11-C4" + }, + { + "lpbca": 4, + "branch": 11, + "class": 5, + "linearIndex": 863, + "address": "0xF6F157CE6efCC3C827E85f9a542aCf97f85faC63", + "cellId": "EI-L04-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B11-C5" + }, + { + "lpbca": 4, + "branch": 12, + "class": 0, + "linearIndex": 864, + "address": "0x203f784eb201C9018e3dC67470FB03978563a0F7", + "cellId": "EI-L04-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B12-C0" + }, + { + "lpbca": 4, + "branch": 12, + "class": 1, + "linearIndex": 865, + "address": "0x0baB0beC5BDA062f018beBa22f865482EcF7f057", + "cellId": "EI-L04-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B12-C1" + }, + { + "lpbca": 4, + "branch": 12, + "class": 2, + "linearIndex": 866, + "address": "0xf7465A04FCa61bDE9A164E7bd5BBAcb94AFE5069", + "cellId": "EI-L04-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B12-C2" + }, + { + "lpbca": 4, + "branch": 12, + "class": 3, + "linearIndex": 867, + "address": "0x08ebDDFfEC1afC219791784CC1080F4407E53ABE", + "cellId": "EI-L04-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B12-C3" + }, + { + "lpbca": 4, + "branch": 12, + "class": 4, + "linearIndex": 868, + "address": "0x65D0DE46c6Ae44c0B5b37Fc993bCb28dbe7f3131", + "cellId": "EI-L04-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B12-C4" + }, + { + "lpbca": 4, + "branch": 12, + "class": 5, + "linearIndex": 869, + "address": "0x6A554D19F61603fdBCb74DAc8bCee45bfA3698ba", + "cellId": "EI-L04-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B12-C5" + }, + { + "lpbca": 4, + "branch": 13, + "class": 0, + "linearIndex": 870, + "address": "0xdb016062575698003a8f6677f13dbc9e0b542DED", + "cellId": "EI-L04-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B13-C0" + }, + { + "lpbca": 4, + "branch": 13, + "class": 1, + "linearIndex": 871, + "address": "0x4F285662c9b87c52bdeA1C9685d87080a98Aa9dA", + "cellId": "EI-L04-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B13-C1" + }, + { + "lpbca": 4, + "branch": 13, + "class": 2, + "linearIndex": 872, + "address": "0x64af561Cf2437922F23944f4dcfF8896Dfe39B62", + "cellId": "EI-L04-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B13-C2" + }, + { + "lpbca": 4, + "branch": 13, + "class": 3, + "linearIndex": 873, + "address": "0x9f0C86B458613E7a3a66Ed431113Adb40D280E10", + "cellId": "EI-L04-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B13-C3" + }, + { + "lpbca": 4, + "branch": 13, + "class": 4, + "linearIndex": 874, + "address": "0x125A61416AD0AdF712f80a21F3B0cFEe613D9e42", + "cellId": "EI-L04-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B13-C4" + }, + { + "lpbca": 4, + "branch": 13, + "class": 5, + "linearIndex": 875, + "address": "0xb83Cb2092A3eccE183408d7cCe25668134363925", + "cellId": "EI-L04-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B13-C5" + }, + { + "lpbca": 4, + "branch": 14, + "class": 0, + "linearIndex": 876, + "address": "0x9a94DBCEb16fa382e4bc4f772cA223827221c52A", + "cellId": "EI-L04-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B14-C0" + }, + { + "lpbca": 4, + "branch": 14, + "class": 1, + "linearIndex": 877, + "address": "0xd44202e4a81e96D723402Fa48AE5E0f98dd90d33", + "cellId": "EI-L04-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B14-C1" + }, + { + "lpbca": 4, + "branch": 14, + "class": 2, + "linearIndex": 878, + "address": "0xcAa9F964B58AE9573C9ac708F67Cf2ea0f58a929", + "cellId": "EI-L04-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B14-C2" + }, + { + "lpbca": 4, + "branch": 14, + "class": 3, + "linearIndex": 879, + "address": "0x8cf11E5a1258F2167122413D132ED2913F127E30", + "cellId": "EI-L04-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B14-C3" + }, + { + "lpbca": 4, + "branch": 14, + "class": 4, + "linearIndex": 880, + "address": "0x7C7D1fC062af6e0c3185345A2ea45ee3bC599dD5", + "cellId": "EI-L04-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B14-C4" + }, + { + "lpbca": 4, + "branch": 14, + "class": 5, + "linearIndex": 881, + "address": "0xdd49763C02c2aD6EaD8BAE1D43384d2980E37e0f", + "cellId": "EI-L04-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B14-C5" + }, + { + "lpbca": 4, + "branch": 15, + "class": 0, + "linearIndex": 882, + "address": "0xEEca3D1ED56797D646f07A4374F41EA408D00a0d", + "cellId": "EI-L04-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B15-C0" + }, + { + "lpbca": 4, + "branch": 15, + "class": 1, + "linearIndex": 883, + "address": "0x2Ac29d9b727813200d1A10AC10B2740999Ff1c1c", + "cellId": "EI-L04-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B15-C1" + }, + { + "lpbca": 4, + "branch": 15, + "class": 2, + "linearIndex": 884, + "address": "0x58f485910956774BDCb1f50AC100DBd1B03b8e57", + "cellId": "EI-L04-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B15-C2" + }, + { + "lpbca": 4, + "branch": 15, + "class": 3, + "linearIndex": 885, + "address": "0x79967f90E3DB8b6492ED07C997F3c3ECD96bA438", + "cellId": "EI-L04-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B15-C3" + }, + { + "lpbca": 4, + "branch": 15, + "class": 4, + "linearIndex": 886, + "address": "0x54fb89F31d3A5D16560885F5892b57dad610F886", + "cellId": "EI-L04-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B15-C4" + }, + { + "lpbca": 4, + "branch": 15, + "class": 5, + "linearIndex": 887, + "address": "0x19d9cC4F6F7D58F3B5c1F8E41979b8225Aa95218", + "cellId": "EI-L04-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B15-C5" + }, + { + "lpbca": 4, + "branch": 16, + "class": 0, + "linearIndex": 888, + "address": "0x4eF3eF4C9840B11493be3a4571FaAA0dfF76b84a", + "cellId": "EI-L04-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B16-C0" + }, + { + "lpbca": 4, + "branch": 16, + "class": 1, + "linearIndex": 889, + "address": "0xf6fC349247553355F560F8E3A4c7405831ae34c0", + "cellId": "EI-L04-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B16-C1" + }, + { + "lpbca": 4, + "branch": 16, + "class": 2, + "linearIndex": 890, + "address": "0x30c6c66175c283C27927d9E0D5569dD2C504b602", + "cellId": "EI-L04-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B16-C2" + }, + { + "lpbca": 4, + "branch": 16, + "class": 3, + "linearIndex": 891, + "address": "0x8d775A4651fE64C0A0282A0B888461f5516064Ed", + "cellId": "EI-L04-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B16-C3" + }, + { + "lpbca": 4, + "branch": 16, + "class": 4, + "linearIndex": 892, + "address": "0x3c398c7342c59305De7F9849e13eE1a722ef1Eb3", + "cellId": "EI-L04-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B16-C4" + }, + { + "lpbca": 4, + "branch": 16, + "class": 5, + "linearIndex": 893, + "address": "0x8d5e3010742f76F47FEa7A691F8F6b55b730C8B9", + "cellId": "EI-L04-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B16-C5" + }, + { + "lpbca": 4, + "branch": 17, + "class": 0, + "linearIndex": 894, + "address": "0xdddb29792daA65808f4824E82B7Ea93665e26c51", + "cellId": "EI-L04-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B17-C0" + }, + { + "lpbca": 4, + "branch": 17, + "class": 1, + "linearIndex": 895, + "address": "0x947EFD2C99Bc53Bd5c8585C050dA112fCE6818Df", + "cellId": "EI-L04-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B17-C1" + }, + { + "lpbca": 4, + "branch": 17, + "class": 2, + "linearIndex": 896, + "address": "0xE30464f289c0a8E2A213D8268A0b9CCB574CE118", + "cellId": "EI-L04-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B17-C2" + }, + { + "lpbca": 4, + "branch": 17, + "class": 3, + "linearIndex": 897, + "address": "0xEfa7B1Ac3b494D6ad486B93dDbBf96c5Bb2E50C2", + "cellId": "EI-L04-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B17-C3" + }, + { + "lpbca": 4, + "branch": 17, + "class": 4, + "linearIndex": 898, + "address": "0xea79624a117aE859806b1bf920B4f72e99F8108E", + "cellId": "EI-L04-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B17-C4" + }, + { + "lpbca": 4, + "branch": 17, + "class": 5, + "linearIndex": 899, + "address": "0xb62B61680144D9f96Cc5C5cC0aB9e178A5041bb1", + "cellId": "EI-L04-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B17-C5" + }, + { + "lpbca": 4, + "branch": 18, + "class": 0, + "linearIndex": 900, + "address": "0xaD08aBD716E1887142aC07C46C608e31495004EF", + "cellId": "EI-L04-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B18-C0" + }, + { + "lpbca": 4, + "branch": 18, + "class": 1, + "linearIndex": 901, + "address": "0x5260316A10563E1115AEA53AAE736938Ab55d658", + "cellId": "EI-L04-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B18-C1" + }, + { + "lpbca": 4, + "branch": 18, + "class": 2, + "linearIndex": 902, + "address": "0x4Ef3a4c1D45b9Ae63c01E039e6B40109d2464dE8", + "cellId": "EI-L04-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B18-C2" + }, + { + "lpbca": 4, + "branch": 18, + "class": 3, + "linearIndex": 903, + "address": "0xF946909f176416AfF5B447c8BF6538D025572473", + "cellId": "EI-L04-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B18-C3" + }, + { + "lpbca": 4, + "branch": 18, + "class": 4, + "linearIndex": 904, + "address": "0xBbA1190F1A8029ac147bCd6c121220467a549921", + "cellId": "EI-L04-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B18-C4" + }, + { + "lpbca": 4, + "branch": 18, + "class": 5, + "linearIndex": 905, + "address": "0xdfc341BF6013898703B140a1CC020c8604cb875d", + "cellId": "EI-L04-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B18-C5" + }, + { + "lpbca": 4, + "branch": 19, + "class": 0, + "linearIndex": 906, + "address": "0x9C11B0d220aE9FfE84a54a2Adbbd9Dfc1759c734", + "cellId": "EI-L04-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B19-C0" + }, + { + "lpbca": 4, + "branch": 19, + "class": 1, + "linearIndex": 907, + "address": "0xF320E7A220F0AC1682296c1942F98db724c96C16", + "cellId": "EI-L04-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B19-C1" + }, + { + "lpbca": 4, + "branch": 19, + "class": 2, + "linearIndex": 908, + "address": "0x43d840a47E0D3ABad9A4c32dFD7542A440aD5A0d", + "cellId": "EI-L04-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B19-C2" + }, + { + "lpbca": 4, + "branch": 19, + "class": 3, + "linearIndex": 909, + "address": "0xBFDda25c5B41Be9FA9dd4e07bfBA9881bB93846f", + "cellId": "EI-L04-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B19-C3" + }, + { + "lpbca": 4, + "branch": 19, + "class": 4, + "linearIndex": 910, + "address": "0x0701Efd5e4C52E086add4C9F31420e0A0980C4AC", + "cellId": "EI-L04-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B19-C4" + }, + { + "lpbca": 4, + "branch": 19, + "class": 5, + "linearIndex": 911, + "address": "0x22666a0669b38F3cdBd13bB1911EDBFd1ee28EC8", + "cellId": "EI-L04-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B19-C5" + }, + { + "lpbca": 4, + "branch": 20, + "class": 0, + "linearIndex": 912, + "address": "0xb177230a112131AE39Edb259b4EBfcee60F34f9D", + "cellId": "EI-L04-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B20-C0" + }, + { + "lpbca": 4, + "branch": 20, + "class": 1, + "linearIndex": 913, + "address": "0x9eF1A068a923103AE4A8a67436809cf3dC036Ee0", + "cellId": "EI-L04-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B20-C1" + }, + { + "lpbca": 4, + "branch": 20, + "class": 2, + "linearIndex": 914, + "address": "0x6D81D82C67EBdd988A10AA27fe3bE35aeB765A6D", + "cellId": "EI-L04-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B20-C2" + }, + { + "lpbca": 4, + "branch": 20, + "class": 3, + "linearIndex": 915, + "address": "0x9823e95584508cdDA695f9Ca054d705310110b13", + "cellId": "EI-L04-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B20-C3" + }, + { + "lpbca": 4, + "branch": 20, + "class": 4, + "linearIndex": 916, + "address": "0x31543cbACA1413f17E0FFbf9Cbf1223B4ABA6608", + "cellId": "EI-L04-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B20-C4" + }, + { + "lpbca": 4, + "branch": 20, + "class": 5, + "linearIndex": 917, + "address": "0xD757c71179fd83C1da387ffa6c1b702A27280833", + "cellId": "EI-L04-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B20-C5" + }, + { + "lpbca": 4, + "branch": 21, + "class": 0, + "linearIndex": 918, + "address": "0x7706805c7532ad5f16d76aD7Ba6FC008668218A1", + "cellId": "EI-L04-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B21-C0" + }, + { + "lpbca": 4, + "branch": 21, + "class": 1, + "linearIndex": 919, + "address": "0xAFc56D3F559aaf909969B8656fc4d4F220D9976a", + "cellId": "EI-L04-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B21-C1" + }, + { + "lpbca": 4, + "branch": 21, + "class": 2, + "linearIndex": 920, + "address": "0xE99324F6b14452a63B9d7f0C3536D7734cdF577F", + "cellId": "EI-L04-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B21-C2" + }, + { + "lpbca": 4, + "branch": 21, + "class": 3, + "linearIndex": 921, + "address": "0x3EF858C3864A66a722d6C2a57afbD720a2912949", + "cellId": "EI-L04-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B21-C3" + }, + { + "lpbca": 4, + "branch": 21, + "class": 4, + "linearIndex": 922, + "address": "0x3801874DA018316ff761F5BB9f980393C552B228", + "cellId": "EI-L04-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B21-C4" + }, + { + "lpbca": 4, + "branch": 21, + "class": 5, + "linearIndex": 923, + "address": "0x4EBFbb7Fc3707b50F52D5d9355FA6328Bb12cca3", + "cellId": "EI-L04-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B21-C5" + }, + { + "lpbca": 4, + "branch": 22, + "class": 0, + "linearIndex": 924, + "address": "0xD822DF01D925a6AB307d66f69aA079116aFE9Bb1", + "cellId": "EI-L04-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B22-C0" + }, + { + "lpbca": 4, + "branch": 22, + "class": 1, + "linearIndex": 925, + "address": "0x3a8e816293DD8B5f3b04a5E6dEb4755ECa3B797E", + "cellId": "EI-L04-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B22-C1" + }, + { + "lpbca": 4, + "branch": 22, + "class": 2, + "linearIndex": 926, + "address": "0x1cD98f89dE146c7255Edd7337479b0bE49E80Fa5", + "cellId": "EI-L04-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B22-C2" + }, + { + "lpbca": 4, + "branch": 22, + "class": 3, + "linearIndex": 927, + "address": "0x0a6fA29eaa62B6aDF572e3Bf048Cbc5C323984f9", + "cellId": "EI-L04-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B22-C3" + }, + { + "lpbca": 4, + "branch": 22, + "class": 4, + "linearIndex": 928, + "address": "0x3CB76B2FE15e220b4C17192Bca6eE862845cbD88", + "cellId": "EI-L04-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B22-C4" + }, + { + "lpbca": 4, + "branch": 22, + "class": 5, + "linearIndex": 929, + "address": "0x007eA1095414b383B90f44F01561b777020BcA23", + "cellId": "EI-L04-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B22-C5" + }, + { + "lpbca": 4, + "branch": 23, + "class": 0, + "linearIndex": 930, + "address": "0x706E4D85072D7f41cDb652ea70d947C6DD16658c", + "cellId": "EI-L04-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B23-C0" + }, + { + "lpbca": 4, + "branch": 23, + "class": 1, + "linearIndex": 931, + "address": "0x45FA5f8088D748d39da55c3790dD6E32EEFdfbf1", + "cellId": "EI-L04-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B23-C1" + }, + { + "lpbca": 4, + "branch": 23, + "class": 2, + "linearIndex": 932, + "address": "0xb7940814D9e4bC8C1D0A41CEB1EEC7D59633D512", + "cellId": "EI-L04-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B23-C2" + }, + { + "lpbca": 4, + "branch": 23, + "class": 3, + "linearIndex": 933, + "address": "0x2C85c1c46AFa2cD566732a54151a985bD2117168", + "cellId": "EI-L04-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B23-C3" + }, + { + "lpbca": 4, + "branch": 23, + "class": 4, + "linearIndex": 934, + "address": "0xE3104cDbcD9781EB74B577a92Fce4c70A0764786", + "cellId": "EI-L04-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B23-C4" + }, + { + "lpbca": 4, + "branch": 23, + "class": 5, + "linearIndex": 935, + "address": "0x73De2cEB208905B042A6e941CEcA80902ae7bbA3", + "cellId": "EI-L04-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B23-C5" + }, + { + "lpbca": 4, + "branch": 24, + "class": 0, + "linearIndex": 936, + "address": "0xddeb2f18c88231642462f2919E56Da267947F0D2", + "cellId": "EI-L04-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B24-C0" + }, + { + "lpbca": 4, + "branch": 24, + "class": 1, + "linearIndex": 937, + "address": "0x82271ca5419BAbA011674666f298Ab87c6Bc56e7", + "cellId": "EI-L04-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B24-C1" + }, + { + "lpbca": 4, + "branch": 24, + "class": 2, + "linearIndex": 938, + "address": "0x516b58059848E135003c9abc2ab24845CBAAF0E4", + "cellId": "EI-L04-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B24-C2" + }, + { + "lpbca": 4, + "branch": 24, + "class": 3, + "linearIndex": 939, + "address": "0xeac06cF31c81005eC443cb5F74561393B927169E", + "cellId": "EI-L04-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B24-C3" + }, + { + "lpbca": 4, + "branch": 24, + "class": 4, + "linearIndex": 940, + "address": "0x804322AFaB6a2C8FFf77cFeaA6A8B16e9154a6d9", + "cellId": "EI-L04-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B24-C4" + }, + { + "lpbca": 4, + "branch": 24, + "class": 5, + "linearIndex": 941, + "address": "0xa81b158186691e463EDF1627Ed73e0107652B852", + "cellId": "EI-L04-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B24-C5" + }, + { + "lpbca": 4, + "branch": 25, + "class": 0, + "linearIndex": 942, + "address": "0x7361c298A761553271f42B0bF4a0593b30fA047f", + "cellId": "EI-L04-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B25-C0" + }, + { + "lpbca": 4, + "branch": 25, + "class": 1, + "linearIndex": 943, + "address": "0x222741Be517e41E6a85bA46307FE24d650Ef4c29", + "cellId": "EI-L04-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B25-C1" + }, + { + "lpbca": 4, + "branch": 25, + "class": 2, + "linearIndex": 944, + "address": "0xc55635e1955b29fe23Fa092399926EE8185946fD", + "cellId": "EI-L04-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B25-C2" + }, + { + "lpbca": 4, + "branch": 25, + "class": 3, + "linearIndex": 945, + "address": "0x1Cc01585E4D8613511BE0767E3FAeEfc81Cf83CE", + "cellId": "EI-L04-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B25-C3" + }, + { + "lpbca": 4, + "branch": 25, + "class": 4, + "linearIndex": 946, + "address": "0x3388DA261016eC4052bD635d63B399fB5Ca245E7", + "cellId": "EI-L04-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B25-C4" + }, + { + "lpbca": 4, + "branch": 25, + "class": 5, + "linearIndex": 947, + "address": "0xf9338AC458CEbd0C1cB26c353AcA5D9F948D0F99", + "cellId": "EI-L04-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B25-C5" + }, + { + "lpbca": 4, + "branch": 26, + "class": 0, + "linearIndex": 948, + "address": "0x77D7AFE904753c69E6C5bCfd0c9313D0E616198e", + "cellId": "EI-L04-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B26-C0" + }, + { + "lpbca": 4, + "branch": 26, + "class": 1, + "linearIndex": 949, + "address": "0xA28277078f56B75a81022CbE491aAbD22036b7aE", + "cellId": "EI-L04-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B26-C1" + }, + { + "lpbca": 4, + "branch": 26, + "class": 2, + "linearIndex": 950, + "address": "0xC375bE075CEFD4BeCB161Aaf8F92F4751259062A", + "cellId": "EI-L04-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B26-C2" + }, + { + "lpbca": 4, + "branch": 26, + "class": 3, + "linearIndex": 951, + "address": "0xa33b908C18Ee74C2a496282e227ad384206a109B", + "cellId": "EI-L04-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B26-C3" + }, + { + "lpbca": 4, + "branch": 26, + "class": 4, + "linearIndex": 952, + "address": "0xefa36E8C04e0832979002349326b7Ec2e196F46D", + "cellId": "EI-L04-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B26-C4" + }, + { + "lpbca": 4, + "branch": 26, + "class": 5, + "linearIndex": 953, + "address": "0xEf8c1abF348d456FC4cfBCEE06f7824B0f079bc2", + "cellId": "EI-L04-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B26-C5" + }, + { + "lpbca": 4, + "branch": 27, + "class": 0, + "linearIndex": 954, + "address": "0xADa3d181715f0fC1E6dF8a533923fa0190178A76", + "cellId": "EI-L04-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B27-C0" + }, + { + "lpbca": 4, + "branch": 27, + "class": 1, + "linearIndex": 955, + "address": "0x0331b0C70DF3BC3b0E75e519A1794F0B2C749a5d", + "cellId": "EI-L04-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B27-C1" + }, + { + "lpbca": 4, + "branch": 27, + "class": 2, + "linearIndex": 956, + "address": "0x5db1e5B4ec5C0Fa121ed41168fbD996A1dEC10eC", + "cellId": "EI-L04-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B27-C2" + }, + { + "lpbca": 4, + "branch": 27, + "class": 3, + "linearIndex": 957, + "address": "0x92050D102c06A721597091B93C0C7972Fdaf3800", + "cellId": "EI-L04-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B27-C3" + }, + { + "lpbca": 4, + "branch": 27, + "class": 4, + "linearIndex": 958, + "address": "0x819218D78416540d5204658799C60b5dc61806aA", + "cellId": "EI-L04-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B27-C4" + }, + { + "lpbca": 4, + "branch": 27, + "class": 5, + "linearIndex": 959, + "address": "0x885524da0C32D69056b180513fE5b3E92DAE0DcC", + "cellId": "EI-L04-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B27-C5" + }, + { + "lpbca": 4, + "branch": 28, + "class": 0, + "linearIndex": 960, + "address": "0x2b2386966947d2f321b959F8Cf7b6d526516664f", + "cellId": "EI-L04-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B28-C0" + }, + { + "lpbca": 4, + "branch": 28, + "class": 1, + "linearIndex": 961, + "address": "0x28636AEc7F90aae7275970981837f148885bBcCf", + "cellId": "EI-L04-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B28-C1" + }, + { + "lpbca": 4, + "branch": 28, + "class": 2, + "linearIndex": 962, + "address": "0xE77832AaBBA601b07f33B222F334f905172d604C", + "cellId": "EI-L04-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B28-C2" + }, + { + "lpbca": 4, + "branch": 28, + "class": 3, + "linearIndex": 963, + "address": "0xF6ec64cEC0A2af961Cdf4C939fa5c41fB69E4Dce", + "cellId": "EI-L04-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B28-C3" + }, + { + "lpbca": 4, + "branch": 28, + "class": 4, + "linearIndex": 964, + "address": "0x15e9A2D44D70Ab8712FF275d2366C64Eb2319B6F", + "cellId": "EI-L04-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B28-C4" + }, + { + "lpbca": 4, + "branch": 28, + "class": 5, + "linearIndex": 965, + "address": "0xB8B829D0d8787cb537Bc9920e6DC3E7440bFeDD4", + "cellId": "EI-L04-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B28-C5" + }, + { + "lpbca": 4, + "branch": 29, + "class": 0, + "linearIndex": 966, + "address": "0xF89F8BAa960deeb647C6B2265e35e31F92ef650C", + "cellId": "EI-L04-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B29-C0" + }, + { + "lpbca": 4, + "branch": 29, + "class": 1, + "linearIndex": 967, + "address": "0x2E6AB9aC06A0081b942596173cF5F309Bb97De39", + "cellId": "EI-L04-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B29-C1" + }, + { + "lpbca": 4, + "branch": 29, + "class": 2, + "linearIndex": 968, + "address": "0x093d50E2D4c90D5Bb6f98549b33Ccfb2D4819B31", + "cellId": "EI-L04-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B29-C2" + }, + { + "lpbca": 4, + "branch": 29, + "class": 3, + "linearIndex": 969, + "address": "0x3ef7FB21a577D69110051DF1fE01fA34dE782A63", + "cellId": "EI-L04-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B29-C3" + }, + { + "lpbca": 4, + "branch": 29, + "class": 4, + "linearIndex": 970, + "address": "0xE238498A8f3FEdE906EFE14b0163E9bAE23305B6", + "cellId": "EI-L04-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B29-C4" + }, + { + "lpbca": 4, + "branch": 29, + "class": 5, + "linearIndex": 971, + "address": "0x084E4487a0C12DB95529a40E291bA68614df68bA", + "cellId": "EI-L04-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B29-C5" + }, + { + "lpbca": 4, + "branch": 30, + "class": 0, + "linearIndex": 972, + "address": "0xA445297a6fC623C7FF81F877570f7fE8c563e175", + "cellId": "EI-L04-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B30-C0" + }, + { + "lpbca": 4, + "branch": 30, + "class": 1, + "linearIndex": 973, + "address": "0x5826bC157780767e025a98d4473167f6a3181f38", + "cellId": "EI-L04-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B30-C1" + }, + { + "lpbca": 4, + "branch": 30, + "class": 2, + "linearIndex": 974, + "address": "0x182a681e1E43d307Fe53c37FCa1BCF3Ea07591e7", + "cellId": "EI-L04-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B30-C2" + }, + { + "lpbca": 4, + "branch": 30, + "class": 3, + "linearIndex": 975, + "address": "0x58d660f0a454118474804C9f8E6E277e39234785", + "cellId": "EI-L04-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B30-C3" + }, + { + "lpbca": 4, + "branch": 30, + "class": 4, + "linearIndex": 976, + "address": "0x4e3440Bb2A2155Fb59b99F37EC75c337c9774996", + "cellId": "EI-L04-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B30-C4" + }, + { + "lpbca": 4, + "branch": 30, + "class": 5, + "linearIndex": 977, + "address": "0x9182E5C2A5efCcA585BF1dd3BFAb85d611219e5A", + "cellId": "EI-L04-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B30-C5" + }, + { + "lpbca": 4, + "branch": 31, + "class": 0, + "linearIndex": 978, + "address": "0xadbeC3C66bdd8f457783e7C5378d358D7B73211d", + "cellId": "EI-L04-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B31-C0" + }, + { + "lpbca": 4, + "branch": 31, + "class": 1, + "linearIndex": 979, + "address": "0x4e40B28692ddaE2F19fF609a13f654d55b70e54a", + "cellId": "EI-L04-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B31-C1" + }, + { + "lpbca": 4, + "branch": 31, + "class": 2, + "linearIndex": 980, + "address": "0x5CFd67b7B55580153eB7373ab51CcFE5AD2Ec555", + "cellId": "EI-L04-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B31-C2" + }, + { + "lpbca": 4, + "branch": 31, + "class": 3, + "linearIndex": 981, + "address": "0x709D006A177D452110e3424E893e18d8186BaeFB", + "cellId": "EI-L04-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B31-C3" + }, + { + "lpbca": 4, + "branch": 31, + "class": 4, + "linearIndex": 982, + "address": "0x553753a2DDd8099c1F485D8407a10240b2554Aa5", + "cellId": "EI-L04-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B31-C4" + }, + { + "lpbca": 4, + "branch": 31, + "class": 5, + "linearIndex": 983, + "address": "0xfD10FFFF6C87899ce96A8BC1eB8d7267b841bE3b", + "cellId": "EI-L04-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B31-C5" + }, + { + "lpbca": 4, + "branch": 32, + "class": 0, + "linearIndex": 984, + "address": "0xF08f3378B38d3bD34a07f86648EE7B26C8682ef9", + "cellId": "EI-L04-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B32-C0" + }, + { + "lpbca": 4, + "branch": 32, + "class": 1, + "linearIndex": 985, + "address": "0x9A3bd48E29f502AFa3511F3a25aB808f9b42C271", + "cellId": "EI-L04-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B32-C1" + }, + { + "lpbca": 4, + "branch": 32, + "class": 2, + "linearIndex": 986, + "address": "0x7F5754489014cDD8BfA7e8b15258dC7E46A3f24E", + "cellId": "EI-L04-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B32-C2" + }, + { + "lpbca": 4, + "branch": 32, + "class": 3, + "linearIndex": 987, + "address": "0x1383d571C1502E79fdB6a5d09D55196786522ee5", + "cellId": "EI-L04-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B32-C3" + }, + { + "lpbca": 4, + "branch": 32, + "class": 4, + "linearIndex": 988, + "address": "0xe6af85c85e234D9C14E38582E8858C0fA30b6b39", + "cellId": "EI-L04-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B32-C4" + }, + { + "lpbca": 4, + "branch": 32, + "class": 5, + "linearIndex": 989, + "address": "0x22bd506bcc9d4BFdaB9a268BE5316c362473b311", + "cellId": "EI-L04-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L04-B32-C5" + }, + { + "lpbca": 5, + "branch": 0, + "class": 0, + "linearIndex": 990, + "address": "0xCD216BE3B585A33D87327EA953b99f4E6cB10D4E", + "cellId": "EI-L05-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B00-C0" + }, + { + "lpbca": 5, + "branch": 0, + "class": 1, + "linearIndex": 991, + "address": "0xA9B6c953a3Fd636391f00d89DB909366B855eF00", + "cellId": "EI-L05-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B00-C1" + }, + { + "lpbca": 5, + "branch": 0, + "class": 2, + "linearIndex": 992, + "address": "0x67e5Fb3EE78220e18efbdcbD0AFAB2345D8A1420", + "cellId": "EI-L05-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B00-C2" + }, + { + "lpbca": 5, + "branch": 0, + "class": 3, + "linearIndex": 993, + "address": "0xA53DafFA226E8b6bDB7B13bBdBC30C4ae81e8331", + "cellId": "EI-L05-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B00-C3" + }, + { + "lpbca": 5, + "branch": 0, + "class": 4, + "linearIndex": 994, + "address": "0xCec076Cb8041fA9DE83cCf45D547C7bd96C3f765", + "cellId": "EI-L05-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B00-C4" + }, + { + "lpbca": 5, + "branch": 0, + "class": 5, + "linearIndex": 995, + "address": "0x06bD4883aD99679cc76713eb4ED6D84499D62FB0", + "cellId": "EI-L05-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B00-C5" + }, + { + "lpbca": 5, + "branch": 1, + "class": 0, + "linearIndex": 996, + "address": "0x39e7edA5f5164Ca0f71bAa4a4E6fD2Bf8B233eD6", + "cellId": "EI-L05-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B01-C0" + }, + { + "lpbca": 5, + "branch": 1, + "class": 1, + "linearIndex": 997, + "address": "0xb8fDfdb693066Cde32413d499063E5E67f0f5F44", + "cellId": "EI-L05-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B01-C1" + }, + { + "lpbca": 5, + "branch": 1, + "class": 2, + "linearIndex": 998, + "address": "0x3A696fA0B44d146E54acAD67Cd8bF28BA21E4479", + "cellId": "EI-L05-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B01-C2" + }, + { + "lpbca": 5, + "branch": 1, + "class": 3, + "linearIndex": 999, + "address": "0x807a4435c7eaf2F35E7206A96E597Ad27E3aF3A5", + "cellId": "EI-L05-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B01-C3" + }, + { + "lpbca": 5, + "branch": 1, + "class": 4, + "linearIndex": 1000, + "address": "0xd1EBc7E5BC3AAC4554A62F0fcA44454919973896", + "cellId": "EI-L05-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B01-C4" + }, + { + "lpbca": 5, + "branch": 1, + "class": 5, + "linearIndex": 1001, + "address": "0x97d583829d18ef76b3b8eec9aBc4d34bdE44165E", + "cellId": "EI-L05-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B01-C5" + }, + { + "lpbca": 5, + "branch": 2, + "class": 0, + "linearIndex": 1002, + "address": "0xB6520cc1b2bB035dC2eD5dc246217B49eFC1c480", + "cellId": "EI-L05-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B02-C0" + }, + { + "lpbca": 5, + "branch": 2, + "class": 1, + "linearIndex": 1003, + "address": "0x778eFc9Ae153c7B308a229DDa2D26eCd40c45B12", + "cellId": "EI-L05-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B02-C1" + }, + { + "lpbca": 5, + "branch": 2, + "class": 2, + "linearIndex": 1004, + "address": "0xA045327E86942BA1eC722eF8d0698a902d12608A", + "cellId": "EI-L05-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B02-C2" + }, + { + "lpbca": 5, + "branch": 2, + "class": 3, + "linearIndex": 1005, + "address": "0xE73c18fcfe371398552eB9eE93D2bD28D018975F", + "cellId": "EI-L05-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B02-C3" + }, + { + "lpbca": 5, + "branch": 2, + "class": 4, + "linearIndex": 1006, + "address": "0x842c09963EA3a2aFf5b498fA7e4e6ff9279e3ffA", + "cellId": "EI-L05-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B02-C4" + }, + { + "lpbca": 5, + "branch": 2, + "class": 5, + "linearIndex": 1007, + "address": "0xC26EbBf0aE5041FDeDA1ddcA058081c4bC2FFA2F", + "cellId": "EI-L05-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B02-C5" + }, + { + "lpbca": 5, + "branch": 3, + "class": 0, + "linearIndex": 1008, + "address": "0x1F1528A647F41C06e94947CEE4c9464eF6E14A5D", + "cellId": "EI-L05-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B03-C0" + }, + { + "lpbca": 5, + "branch": 3, + "class": 1, + "linearIndex": 1009, + "address": "0xbd6cb92C932ff3a69f31eaBABc5EE7dfBCeC49b5", + "cellId": "EI-L05-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B03-C1" + }, + { + "lpbca": 5, + "branch": 3, + "class": 2, + "linearIndex": 1010, + "address": "0xBBDea5bB1E2BD8c346bF113F7618a3a0e33A1b7c", + "cellId": "EI-L05-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B03-C2" + }, + { + "lpbca": 5, + "branch": 3, + "class": 3, + "linearIndex": 1011, + "address": "0x40b0c4E2df40bC918C4f7236cd630eC58175C75f", + "cellId": "EI-L05-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B03-C3" + }, + { + "lpbca": 5, + "branch": 3, + "class": 4, + "linearIndex": 1012, + "address": "0x237F7DeBdDb842dFF1af96147D2E0AC3A0E34e89", + "cellId": "EI-L05-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B03-C4" + }, + { + "lpbca": 5, + "branch": 3, + "class": 5, + "linearIndex": 1013, + "address": "0x9A8700016108AEB9F2DA0F2fF5fC9E77633FCbA0", + "cellId": "EI-L05-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B03-C5" + }, + { + "lpbca": 5, + "branch": 4, + "class": 0, + "linearIndex": 1014, + "address": "0x5ffeC21693e441c7F3269b493A7E0f9C3DCf5e8B", + "cellId": "EI-L05-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B04-C0" + }, + { + "lpbca": 5, + "branch": 4, + "class": 1, + "linearIndex": 1015, + "address": "0x33d55fcabEe0c8eA70e48CDbd6413C736B9023a0", + "cellId": "EI-L05-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B04-C1" + }, + { + "lpbca": 5, + "branch": 4, + "class": 2, + "linearIndex": 1016, + "address": "0xE4B15FCB562819E1c615CC2a42cD1E2721dbF9fc", + "cellId": "EI-L05-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B04-C2" + }, + { + "lpbca": 5, + "branch": 4, + "class": 3, + "linearIndex": 1017, + "address": "0x2E370fB72D14154Cb6000cfb2c69d34797F985F4", + "cellId": "EI-L05-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B04-C3" + }, + { + "lpbca": 5, + "branch": 4, + "class": 4, + "linearIndex": 1018, + "address": "0x76e9DcDACE46f42dE26C792dBD5C269aa3b47FDf", + "cellId": "EI-L05-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B04-C4" + }, + { + "lpbca": 5, + "branch": 4, + "class": 5, + "linearIndex": 1019, + "address": "0xdE5C60BF80061166B2264E83f066637Ffb6a7b93", + "cellId": "EI-L05-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B04-C5" + }, + { + "lpbca": 5, + "branch": 5, + "class": 0, + "linearIndex": 1020, + "address": "0x6e3a7577A4721af2d19d9D6bc89bFA563fC596C0", + "cellId": "EI-L05-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B05-C0" + }, + { + "lpbca": 5, + "branch": 5, + "class": 1, + "linearIndex": 1021, + "address": "0x42d9F8C9DB55A32982C88D0CAAdcA8549bEdC85F", + "cellId": "EI-L05-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B05-C1" + }, + { + "lpbca": 5, + "branch": 5, + "class": 2, + "linearIndex": 1022, + "address": "0xa301b42D925F78f3dC520D13d9068f27CDcf4bC5", + "cellId": "EI-L05-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B05-C2" + }, + { + "lpbca": 5, + "branch": 5, + "class": 3, + "linearIndex": 1023, + "address": "0xd7bEC4d53B4AEBB7dB71b79FF0c96A93e89FAa31", + "cellId": "EI-L05-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B05-C3" + }, + { + "lpbca": 5, + "branch": 5, + "class": 4, + "linearIndex": 1024, + "address": "0xA4E9C97ebFAF0B63eF1D576F2D20F6e4fBB55dBb", + "cellId": "EI-L05-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B05-C4" + }, + { + "lpbca": 5, + "branch": 5, + "class": 5, + "linearIndex": 1025, + "address": "0x9d0d1244AD7c4492336417fD28920036913CF691", + "cellId": "EI-L05-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B05-C5" + }, + { + "lpbca": 5, + "branch": 6, + "class": 0, + "linearIndex": 1026, + "address": "0x1CF002Ca5DaE0DF951A090c7D87D0AB8BAaa4346", + "cellId": "EI-L05-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B06-C0" + }, + { + "lpbca": 5, + "branch": 6, + "class": 1, + "linearIndex": 1027, + "address": "0x3503762ca0De545E9984939162B8b6c4423fC68E", + "cellId": "EI-L05-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B06-C1" + }, + { + "lpbca": 5, + "branch": 6, + "class": 2, + "linearIndex": 1028, + "address": "0x2Af5A32df71eD7668641a4a5C9FAa689727D2D81", + "cellId": "EI-L05-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B06-C2" + }, + { + "lpbca": 5, + "branch": 6, + "class": 3, + "linearIndex": 1029, + "address": "0x59655dCe21380338Ce1e0db6F31367152E12F3C7", + "cellId": "EI-L05-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B06-C3" + }, + { + "lpbca": 5, + "branch": 6, + "class": 4, + "linearIndex": 1030, + "address": "0xc0FF2a108B216c6bD8F73783Ea9088083462b79D", + "cellId": "EI-L05-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B06-C4" + }, + { + "lpbca": 5, + "branch": 6, + "class": 5, + "linearIndex": 1031, + "address": "0x640a1bE66e4C30275AA416DcB40901bcC8E60133", + "cellId": "EI-L05-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B06-C5" + }, + { + "lpbca": 5, + "branch": 7, + "class": 0, + "linearIndex": 1032, + "address": "0xbadB804900C487b6E2Fa18D46688cD1A4657AD3C", + "cellId": "EI-L05-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B07-C0" + }, + { + "lpbca": 5, + "branch": 7, + "class": 1, + "linearIndex": 1033, + "address": "0x8e85d02a934DE971633513B5Be724a0F9a1BA4Cc", + "cellId": "EI-L05-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B07-C1" + }, + { + "lpbca": 5, + "branch": 7, + "class": 2, + "linearIndex": 1034, + "address": "0x1FB743E749C25634c174dAda264d13f57006179f", + "cellId": "EI-L05-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B07-C2" + }, + { + "lpbca": 5, + "branch": 7, + "class": 3, + "linearIndex": 1035, + "address": "0xE923A4e4E04592E9E4cd04C91ad336d59e7c8FaD", + "cellId": "EI-L05-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B07-C3" + }, + { + "lpbca": 5, + "branch": 7, + "class": 4, + "linearIndex": 1036, + "address": "0xeD1a9770b2f809b3aE5be1661DD49983bF43A401", + "cellId": "EI-L05-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B07-C4" + }, + { + "lpbca": 5, + "branch": 7, + "class": 5, + "linearIndex": 1037, + "address": "0x864cCa21a6EF97fFD17e545F95C2654B24372B8a", + "cellId": "EI-L05-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B07-C5" + }, + { + "lpbca": 5, + "branch": 8, + "class": 0, + "linearIndex": 1038, + "address": "0xf2a5a9115Aaeef36a787960eC0a94769eD16eF05", + "cellId": "EI-L05-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B08-C0" + }, + { + "lpbca": 5, + "branch": 8, + "class": 1, + "linearIndex": 1039, + "address": "0xC6e47a4ae0C8506F50C0565c0B7f9076C8a3c583", + "cellId": "EI-L05-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B08-C1" + }, + { + "lpbca": 5, + "branch": 8, + "class": 2, + "linearIndex": 1040, + "address": "0xf52Ec78e78236Ab560bd0fb604BA4BA8E2B70d67", + "cellId": "EI-L05-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B08-C2" + }, + { + "lpbca": 5, + "branch": 8, + "class": 3, + "linearIndex": 1041, + "address": "0xd3F216d730EF172D56caf7368F708f89F9C4c0f3", + "cellId": "EI-L05-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B08-C3" + }, + { + "lpbca": 5, + "branch": 8, + "class": 4, + "linearIndex": 1042, + "address": "0x5FD7139bb5B4B836360c2aE8C3953fa2c56a9Aa0", + "cellId": "EI-L05-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B08-C4" + }, + { + "lpbca": 5, + "branch": 8, + "class": 5, + "linearIndex": 1043, + "address": "0x85b4934156d857d39F461CFCdaF3335C7204574A", + "cellId": "EI-L05-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B08-C5" + }, + { + "lpbca": 5, + "branch": 9, + "class": 0, + "linearIndex": 1044, + "address": "0x0c931b1a9724ECF6539943ACa56010C3721a6B53", + "cellId": "EI-L05-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B09-C0" + }, + { + "lpbca": 5, + "branch": 9, + "class": 1, + "linearIndex": 1045, + "address": "0xF38dA217eDd4914ADA07220E489fea472251ecFa", + "cellId": "EI-L05-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B09-C1" + }, + { + "lpbca": 5, + "branch": 9, + "class": 2, + "linearIndex": 1046, + "address": "0xD3afa9d067180F8197BFf2665c1296054Ec11eEe", + "cellId": "EI-L05-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B09-C2" + }, + { + "lpbca": 5, + "branch": 9, + "class": 3, + "linearIndex": 1047, + "address": "0x89Ab9a2b8B8555A58baB20C87d18A8478B0b9025", + "cellId": "EI-L05-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B09-C3" + }, + { + "lpbca": 5, + "branch": 9, + "class": 4, + "linearIndex": 1048, + "address": "0xC7f09F92bC12a96359Bb1E96467DEB17a3161B6a", + "cellId": "EI-L05-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B09-C4" + }, + { + "lpbca": 5, + "branch": 9, + "class": 5, + "linearIndex": 1049, + "address": "0x49b70615687b6CdaB295ea40F083Bf83aEDaC734", + "cellId": "EI-L05-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B09-C5" + }, + { + "lpbca": 5, + "branch": 10, + "class": 0, + "linearIndex": 1050, + "address": "0x1f067739653C2f1bAE731f40E232f3016A84Dd81", + "cellId": "EI-L05-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B10-C0" + }, + { + "lpbca": 5, + "branch": 10, + "class": 1, + "linearIndex": 1051, + "address": "0x9fAc99A2c1B3a9B62fcfc9412e7F0918645c3922", + "cellId": "EI-L05-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B10-C1" + }, + { + "lpbca": 5, + "branch": 10, + "class": 2, + "linearIndex": 1052, + "address": "0xf491517978e73792dC77A88b810B8306ed335491", + "cellId": "EI-L05-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B10-C2" + }, + { + "lpbca": 5, + "branch": 10, + "class": 3, + "linearIndex": 1053, + "address": "0x187Cf60f8654b12D5eC67be3B1978A7062E73775", + "cellId": "EI-L05-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B10-C3" + }, + { + "lpbca": 5, + "branch": 10, + "class": 4, + "linearIndex": 1054, + "address": "0x3A743Bb1baBBE2bc997F6c4B90bDD692661008de", + "cellId": "EI-L05-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B10-C4" + }, + { + "lpbca": 5, + "branch": 10, + "class": 5, + "linearIndex": 1055, + "address": "0x01ebB861A524fE443D40250ad8e06013b0fCF18C", + "cellId": "EI-L05-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B10-C5" + }, + { + "lpbca": 5, + "branch": 11, + "class": 0, + "linearIndex": 1056, + "address": "0xc028a40F03f6831394CDcF027E4A58ef7B49E0a1", + "cellId": "EI-L05-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B11-C0" + }, + { + "lpbca": 5, + "branch": 11, + "class": 1, + "linearIndex": 1057, + "address": "0x331D84D88a750c9E6b892a1AE8644beA328B8210", + "cellId": "EI-L05-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B11-C1" + }, + { + "lpbca": 5, + "branch": 11, + "class": 2, + "linearIndex": 1058, + "address": "0x68017a79d6d3EE6Fa9a40c08c7c7fd4fD00DC42a", + "cellId": "EI-L05-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B11-C2" + }, + { + "lpbca": 5, + "branch": 11, + "class": 3, + "linearIndex": 1059, + "address": "0x3c7c2900f82716E762cE3977dA6A6C74Ed7AaC7a", + "cellId": "EI-L05-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B11-C3" + }, + { + "lpbca": 5, + "branch": 11, + "class": 4, + "linearIndex": 1060, + "address": "0x7C23FE0AD6E212D22bED6a4c7936c4720517F27d", + "cellId": "EI-L05-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B11-C4" + }, + { + "lpbca": 5, + "branch": 11, + "class": 5, + "linearIndex": 1061, + "address": "0xE4F8DafCD135C68d29E8e814B150145Dc231C2fc", + "cellId": "EI-L05-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B11-C5" + }, + { + "lpbca": 5, + "branch": 12, + "class": 0, + "linearIndex": 1062, + "address": "0x99e8e462817Fe035DAfB899d4088cf719AE7dd67", + "cellId": "EI-L05-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B12-C0" + }, + { + "lpbca": 5, + "branch": 12, + "class": 1, + "linearIndex": 1063, + "address": "0xb1aEeCC0c86Dca5F1C6A2A1eD1CC105791500c6B", + "cellId": "EI-L05-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B12-C1" + }, + { + "lpbca": 5, + "branch": 12, + "class": 2, + "linearIndex": 1064, + "address": "0x4EC2DA8fABa01CbCD7E769055390F33B5681Cfa3", + "cellId": "EI-L05-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B12-C2" + }, + { + "lpbca": 5, + "branch": 12, + "class": 3, + "linearIndex": 1065, + "address": "0xfE9C16a1b970F621D6837aabc36b573EA05c5318", + "cellId": "EI-L05-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B12-C3" + }, + { + "lpbca": 5, + "branch": 12, + "class": 4, + "linearIndex": 1066, + "address": "0xd9b39F3Aa0a6B5127D9021d8cb0cC737D7083Cfc", + "cellId": "EI-L05-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B12-C4" + }, + { + "lpbca": 5, + "branch": 12, + "class": 5, + "linearIndex": 1067, + "address": "0x42E339216A3a1dB5E93c62B933C98fC40AC4401e", + "cellId": "EI-L05-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B12-C5" + }, + { + "lpbca": 5, + "branch": 13, + "class": 0, + "linearIndex": 1068, + "address": "0x7a913344a85c388F41F3753EF7BcC920B330C142", + "cellId": "EI-L05-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B13-C0" + }, + { + "lpbca": 5, + "branch": 13, + "class": 1, + "linearIndex": 1069, + "address": "0xCcF4A125ED98507dc46a0Ab5427836Ea7A7c3B1d", + "cellId": "EI-L05-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B13-C1" + }, + { + "lpbca": 5, + "branch": 13, + "class": 2, + "linearIndex": 1070, + "address": "0x31D2196AD35f8fb5d758b99c26C0Ee6080aA5a1F", + "cellId": "EI-L05-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B13-C2" + }, + { + "lpbca": 5, + "branch": 13, + "class": 3, + "linearIndex": 1071, + "address": "0xa3cEc6eAC13BBc98F28B386F77fD35bDfb5Bfad1", + "cellId": "EI-L05-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B13-C3" + }, + { + "lpbca": 5, + "branch": 13, + "class": 4, + "linearIndex": 1072, + "address": "0x649DA8Ff740c4ED2eE65b22686Cfc590A8A04972", + "cellId": "EI-L05-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B13-C4" + }, + { + "lpbca": 5, + "branch": 13, + "class": 5, + "linearIndex": 1073, + "address": "0x5AC54272c46b75cA3607a8De91ec31121f85684F", + "cellId": "EI-L05-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B13-C5" + }, + { + "lpbca": 5, + "branch": 14, + "class": 0, + "linearIndex": 1074, + "address": "0xe7C0aaFb4997D8ab17C6081c5334520D557E4c64", + "cellId": "EI-L05-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B14-C0" + }, + { + "lpbca": 5, + "branch": 14, + "class": 1, + "linearIndex": 1075, + "address": "0xAe3778f1dE763C7601222c4C823E8BD8d05A8a0a", + "cellId": "EI-L05-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B14-C1" + }, + { + "lpbca": 5, + "branch": 14, + "class": 2, + "linearIndex": 1076, + "address": "0x3b91b6DAF0a256a974DAF6CE5d61Ca3C2cEeD19f", + "cellId": "EI-L05-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B14-C2" + }, + { + "lpbca": 5, + "branch": 14, + "class": 3, + "linearIndex": 1077, + "address": "0x0a055198B4dD2d178F06AE70f6a6D82513d683e8", + "cellId": "EI-L05-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B14-C3" + }, + { + "lpbca": 5, + "branch": 14, + "class": 4, + "linearIndex": 1078, + "address": "0x67e22F173130e0E85AB6bb8486815958a07cc9eF", + "cellId": "EI-L05-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B14-C4" + }, + { + "lpbca": 5, + "branch": 14, + "class": 5, + "linearIndex": 1079, + "address": "0x0143d98607dcC424d43E63266438aB6D1F2aF840", + "cellId": "EI-L05-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B14-C5" + }, + { + "lpbca": 5, + "branch": 15, + "class": 0, + "linearIndex": 1080, + "address": "0x416892CF73C07CDF6aE10680d11059E237666f95", + "cellId": "EI-L05-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B15-C0" + }, + { + "lpbca": 5, + "branch": 15, + "class": 1, + "linearIndex": 1081, + "address": "0x76bE3333455cb9C02ae9B2C363025a0BA8BFa232", + "cellId": "EI-L05-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B15-C1" + }, + { + "lpbca": 5, + "branch": 15, + "class": 2, + "linearIndex": 1082, + "address": "0x71C841E0D0560E45BE464f4113f890F16BB6A505", + "cellId": "EI-L05-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B15-C2" + }, + { + "lpbca": 5, + "branch": 15, + "class": 3, + "linearIndex": 1083, + "address": "0xcfb23d82887bd2DF44AbeebA090E4f471fa5B29f", + "cellId": "EI-L05-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B15-C3" + }, + { + "lpbca": 5, + "branch": 15, + "class": 4, + "linearIndex": 1084, + "address": "0xEa4675F32E82673fA43D20Cf6946816A1197d553", + "cellId": "EI-L05-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B15-C4" + }, + { + "lpbca": 5, + "branch": 15, + "class": 5, + "linearIndex": 1085, + "address": "0x2475621aD4028680f2f3d1c7732732fE526E90Dc", + "cellId": "EI-L05-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B15-C5" + }, + { + "lpbca": 5, + "branch": 16, + "class": 0, + "linearIndex": 1086, + "address": "0x7AB97531037747948B4e27e2E2EDb34E914Ba2Dc", + "cellId": "EI-L05-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B16-C0" + }, + { + "lpbca": 5, + "branch": 16, + "class": 1, + "linearIndex": 1087, + "address": "0x7b2344E3adCA399D555aca47D6B6765064Ba723A", + "cellId": "EI-L05-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B16-C1" + }, + { + "lpbca": 5, + "branch": 16, + "class": 2, + "linearIndex": 1088, + "address": "0x241B326DC80280cD2134551eA4EE0FF8c9907F33", + "cellId": "EI-L05-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B16-C2" + }, + { + "lpbca": 5, + "branch": 16, + "class": 3, + "linearIndex": 1089, + "address": "0xc9Fa395f31F11ba0095AA989e307ABDBE35C080f", + "cellId": "EI-L05-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B16-C3" + }, + { + "lpbca": 5, + "branch": 16, + "class": 4, + "linearIndex": 1090, + "address": "0x681a355aa0a8D13B3C94E6fe6826d16009742D9d", + "cellId": "EI-L05-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B16-C4" + }, + { + "lpbca": 5, + "branch": 16, + "class": 5, + "linearIndex": 1091, + "address": "0x1504872F0B8c0b7eE7A15d4070bb9b8812C9aCEA", + "cellId": "EI-L05-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B16-C5" + }, + { + "lpbca": 5, + "branch": 17, + "class": 0, + "linearIndex": 1092, + "address": "0x331aC5282CD200777610D0ce82F3E047A2f89365", + "cellId": "EI-L05-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B17-C0" + }, + { + "lpbca": 5, + "branch": 17, + "class": 1, + "linearIndex": 1093, + "address": "0xC72d2bcef40dBae4727A8C814934087Bc70511b3", + "cellId": "EI-L05-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B17-C1" + }, + { + "lpbca": 5, + "branch": 17, + "class": 2, + "linearIndex": 1094, + "address": "0x736c6eC8F6b468AB266656010E00900A380E772D", + "cellId": "EI-L05-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B17-C2" + }, + { + "lpbca": 5, + "branch": 17, + "class": 3, + "linearIndex": 1095, + "address": "0x038BFcc200185C5709404E001116703985B48DD8", + "cellId": "EI-L05-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B17-C3" + }, + { + "lpbca": 5, + "branch": 17, + "class": 4, + "linearIndex": 1096, + "address": "0xAc2e9Da8501831220565B35f0Ec81248971Ae7F8", + "cellId": "EI-L05-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B17-C4" + }, + { + "lpbca": 5, + "branch": 17, + "class": 5, + "linearIndex": 1097, + "address": "0x52Cdb431fB4c48aa30bFe85B0003AA125BdAA7e6", + "cellId": "EI-L05-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B17-C5" + }, + { + "lpbca": 5, + "branch": 18, + "class": 0, + "linearIndex": 1098, + "address": "0x6e187169251A9FD62626AE1af61360C0bdE3abd5", + "cellId": "EI-L05-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B18-C0" + }, + { + "lpbca": 5, + "branch": 18, + "class": 1, + "linearIndex": 1099, + "address": "0xC9E5c22527530FcF82Ae49989b2d6105eA7e4Bf3", + "cellId": "EI-L05-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B18-C1" + }, + { + "lpbca": 5, + "branch": 18, + "class": 2, + "linearIndex": 1100, + "address": "0x0C3023DB5Bdf504F98b36a29ae96BA9dbFfFF37B", + "cellId": "EI-L05-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B18-C2" + }, + { + "lpbca": 5, + "branch": 18, + "class": 3, + "linearIndex": 1101, + "address": "0x828A3DF0b0ABF6ABB454F9f037eBeB62Eaa49587", + "cellId": "EI-L05-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B18-C3" + }, + { + "lpbca": 5, + "branch": 18, + "class": 4, + "linearIndex": 1102, + "address": "0x8f2e6929ec40F1E60d994BE1Cc487ef7ccaFe1af", + "cellId": "EI-L05-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B18-C4" + }, + { + "lpbca": 5, + "branch": 18, + "class": 5, + "linearIndex": 1103, + "address": "0xA7299D1669f636475A994F73D128Fe557ADdA3b3", + "cellId": "EI-L05-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B18-C5" + }, + { + "lpbca": 5, + "branch": 19, + "class": 0, + "linearIndex": 1104, + "address": "0x81819461887d14E262e3EfDbF4F7CE4BFFBf00FE", + "cellId": "EI-L05-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B19-C0" + }, + { + "lpbca": 5, + "branch": 19, + "class": 1, + "linearIndex": 1105, + "address": "0x0b392f5b927953D81CEc682e11Ec28F1f8d421ba", + "cellId": "EI-L05-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B19-C1" + }, + { + "lpbca": 5, + "branch": 19, + "class": 2, + "linearIndex": 1106, + "address": "0x22c3A65EE2C2Be3B716D35CB08bfC6f5a1B326Cb", + "cellId": "EI-L05-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B19-C2" + }, + { + "lpbca": 5, + "branch": 19, + "class": 3, + "linearIndex": 1107, + "address": "0x5Bd3C2Af0756B1090b6fEF8855f0Fc3029AD4522", + "cellId": "EI-L05-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B19-C3" + }, + { + "lpbca": 5, + "branch": 19, + "class": 4, + "linearIndex": 1108, + "address": "0xDC94435B2ce14A371B667f7DAEa2cf20Ed435780", + "cellId": "EI-L05-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B19-C4" + }, + { + "lpbca": 5, + "branch": 19, + "class": 5, + "linearIndex": 1109, + "address": "0xc5f54c2401e3b8444620dD9a6631CB9A61eFF3A9", + "cellId": "EI-L05-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B19-C5" + }, + { + "lpbca": 5, + "branch": 20, + "class": 0, + "linearIndex": 1110, + "address": "0xFf250Dd55439A57Ee482865b4c156B24872a6676", + "cellId": "EI-L05-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B20-C0" + }, + { + "lpbca": 5, + "branch": 20, + "class": 1, + "linearIndex": 1111, + "address": "0xB5251C47B6A00e978aa6A680afa226ae6e5385A1", + "cellId": "EI-L05-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B20-C1" + }, + { + "lpbca": 5, + "branch": 20, + "class": 2, + "linearIndex": 1112, + "address": "0xC0C6963EE3487469A1D565e955fFE157eb128A6f", + "cellId": "EI-L05-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B20-C2" + }, + { + "lpbca": 5, + "branch": 20, + "class": 3, + "linearIndex": 1113, + "address": "0x0B01751ffb40A849db8FcEe22ace2e111187CA60", + "cellId": "EI-L05-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B20-C3" + }, + { + "lpbca": 5, + "branch": 20, + "class": 4, + "linearIndex": 1114, + "address": "0xA2e1e182f47C971e9F42121347fd43bB74258F2B", + "cellId": "EI-L05-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B20-C4" + }, + { + "lpbca": 5, + "branch": 20, + "class": 5, + "linearIndex": 1115, + "address": "0xd6Cbc7D87BD5baE355D7EDC275723FE5eD179D9c", + "cellId": "EI-L05-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B20-C5" + }, + { + "lpbca": 5, + "branch": 21, + "class": 0, + "linearIndex": 1116, + "address": "0x5dd7AcB4552559960EdE7E49D0aFb395E573C26f", + "cellId": "EI-L05-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B21-C0" + }, + { + "lpbca": 5, + "branch": 21, + "class": 1, + "linearIndex": 1117, + "address": "0x17032e53549ec9E3682F558dc5a441F8Fe5d8AB8", + "cellId": "EI-L05-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B21-C1" + }, + { + "lpbca": 5, + "branch": 21, + "class": 2, + "linearIndex": 1118, + "address": "0x2CE87f73D3F608030Ec928B78B70fA00B1564Af2", + "cellId": "EI-L05-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B21-C2" + }, + { + "lpbca": 5, + "branch": 21, + "class": 3, + "linearIndex": 1119, + "address": "0xD5a14F9FF4D1E8Ce1831e110f9F13152444D4659", + "cellId": "EI-L05-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B21-C3" + }, + { + "lpbca": 5, + "branch": 21, + "class": 4, + "linearIndex": 1120, + "address": "0xd53D37472e47D5f5e663dc6017C367027a4AB1cC", + "cellId": "EI-L05-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B21-C4" + }, + { + "lpbca": 5, + "branch": 21, + "class": 5, + "linearIndex": 1121, + "address": "0x06ab8f23e8A637371D4b0F59ACE75214dD3CADc6", + "cellId": "EI-L05-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B21-C5" + }, + { + "lpbca": 5, + "branch": 22, + "class": 0, + "linearIndex": 1122, + "address": "0x160A6b75D7Be00739d879CD169BD9D33840F2673", + "cellId": "EI-L05-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B22-C0" + }, + { + "lpbca": 5, + "branch": 22, + "class": 1, + "linearIndex": 1123, + "address": "0x123B6e218BF0AeE523efB087e86CB971E85ebD72", + "cellId": "EI-L05-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B22-C1" + }, + { + "lpbca": 5, + "branch": 22, + "class": 2, + "linearIndex": 1124, + "address": "0x226ab4d719996a9b1111C3A63ed1dC403682F8f2", + "cellId": "EI-L05-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B22-C2" + }, + { + "lpbca": 5, + "branch": 22, + "class": 3, + "linearIndex": 1125, + "address": "0x5cb93FfFCD2e451dbCfeaF5590829901371e9FCE", + "cellId": "EI-L05-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B22-C3" + }, + { + "lpbca": 5, + "branch": 22, + "class": 4, + "linearIndex": 1126, + "address": "0x61405dfb2DDdAeD3D3A4BD91BD20B63E4Cc25098", + "cellId": "EI-L05-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B22-C4" + }, + { + "lpbca": 5, + "branch": 22, + "class": 5, + "linearIndex": 1127, + "address": "0x665FC9d343208FC77cf2e110fbA14Fb54FDBC74D", + "cellId": "EI-L05-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B22-C5" + }, + { + "lpbca": 5, + "branch": 23, + "class": 0, + "linearIndex": 1128, + "address": "0x54818131a01aA8Af1985ad8949E4f46F05a51B66", + "cellId": "EI-L05-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B23-C0" + }, + { + "lpbca": 5, + "branch": 23, + "class": 1, + "linearIndex": 1129, + "address": "0xE8d9EF5458D6704CF627c9b859cDF03E5f3d0CEd", + "cellId": "EI-L05-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B23-C1" + }, + { + "lpbca": 5, + "branch": 23, + "class": 2, + "linearIndex": 1130, + "address": "0xb5c43059b6D29312486bAf4085a1F207c5Da0028", + "cellId": "EI-L05-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B23-C2" + }, + { + "lpbca": 5, + "branch": 23, + "class": 3, + "linearIndex": 1131, + "address": "0x00A90DAfFf0F51f858D201099CF5abaA5dC73BBF", + "cellId": "EI-L05-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B23-C3" + }, + { + "lpbca": 5, + "branch": 23, + "class": 4, + "linearIndex": 1132, + "address": "0xE16Ce1c150F006fBE1E9F037D6B1bE02ba4e1B53", + "cellId": "EI-L05-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B23-C4" + }, + { + "lpbca": 5, + "branch": 23, + "class": 5, + "linearIndex": 1133, + "address": "0x86E23b75c29bd49314b0a255EDB2ad1D73898B51", + "cellId": "EI-L05-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B23-C5" + }, + { + "lpbca": 5, + "branch": 24, + "class": 0, + "linearIndex": 1134, + "address": "0xd53fB40469EDcF891aA3D024f12C2dbD7EF0A4aF", + "cellId": "EI-L05-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B24-C0" + }, + { + "lpbca": 5, + "branch": 24, + "class": 1, + "linearIndex": 1135, + "address": "0xD467EC35aE2dfa866F2762907D8020f7a23BA40E", + "cellId": "EI-L05-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B24-C1" + }, + { + "lpbca": 5, + "branch": 24, + "class": 2, + "linearIndex": 1136, + "address": "0xAFB9B2E78f97C777E011E9b609bf6b3c7F09D452", + "cellId": "EI-L05-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B24-C2" + }, + { + "lpbca": 5, + "branch": 24, + "class": 3, + "linearIndex": 1137, + "address": "0xA6eaa346502499F1Af3C69105f4c961E3b4Cb9bA", + "cellId": "EI-L05-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B24-C3" + }, + { + "lpbca": 5, + "branch": 24, + "class": 4, + "linearIndex": 1138, + "address": "0x83FbF3c27Aedb2721069e7A594020223D822a66C", + "cellId": "EI-L05-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B24-C4" + }, + { + "lpbca": 5, + "branch": 24, + "class": 5, + "linearIndex": 1139, + "address": "0x8E2cd53588BC063627216327946A863D500fEF9f", + "cellId": "EI-L05-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B24-C5" + }, + { + "lpbca": 5, + "branch": 25, + "class": 0, + "linearIndex": 1140, + "address": "0x444ce99C2df23F247afEd5dc6E052Fd90DB9a44a", + "cellId": "EI-L05-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B25-C0" + }, + { + "lpbca": 5, + "branch": 25, + "class": 1, + "linearIndex": 1141, + "address": "0x42849Da0516e7Cac6938eF9177E0a093B3c9d683", + "cellId": "EI-L05-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B25-C1" + }, + { + "lpbca": 5, + "branch": 25, + "class": 2, + "linearIndex": 1142, + "address": "0x8D3a4827425B39eA01B17DBf1f31Ed5B0b0471e5", + "cellId": "EI-L05-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B25-C2" + }, + { + "lpbca": 5, + "branch": 25, + "class": 3, + "linearIndex": 1143, + "address": "0x9AB9B03a499Fd220D458d72317149d6b72aE0b8d", + "cellId": "EI-L05-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B25-C3" + }, + { + "lpbca": 5, + "branch": 25, + "class": 4, + "linearIndex": 1144, + "address": "0xb7958a301482D3d169fEe9bf2142A91b6C20035d", + "cellId": "EI-L05-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B25-C4" + }, + { + "lpbca": 5, + "branch": 25, + "class": 5, + "linearIndex": 1145, + "address": "0x21bCe272284318c50bcC5c1533fE94F6C067B0f1", + "cellId": "EI-L05-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B25-C5" + }, + { + "lpbca": 5, + "branch": 26, + "class": 0, + "linearIndex": 1146, + "address": "0x2bB0a10c41218E9d70728c60B15bac08A416cEb9", + "cellId": "EI-L05-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B26-C0" + }, + { + "lpbca": 5, + "branch": 26, + "class": 1, + "linearIndex": 1147, + "address": "0x849f4Feed1311472fbcf0D69660fd6c2E1693E29", + "cellId": "EI-L05-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B26-C1" + }, + { + "lpbca": 5, + "branch": 26, + "class": 2, + "linearIndex": 1148, + "address": "0xE0B00B4A919557e57c5CcE0C6D452f52495FA3d1", + "cellId": "EI-L05-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B26-C2" + }, + { + "lpbca": 5, + "branch": 26, + "class": 3, + "linearIndex": 1149, + "address": "0x13C05928819ab4666c8a544e1Ba5a59A939C80aB", + "cellId": "EI-L05-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B26-C3" + }, + { + "lpbca": 5, + "branch": 26, + "class": 4, + "linearIndex": 1150, + "address": "0xdd4627949640bBd8d1d46634F41DAAD6DB38e20e", + "cellId": "EI-L05-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B26-C4" + }, + { + "lpbca": 5, + "branch": 26, + "class": 5, + "linearIndex": 1151, + "address": "0x66D47484BfDd201887047C7914E9CcAaF1CeA380", + "cellId": "EI-L05-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B26-C5" + }, + { + "lpbca": 5, + "branch": 27, + "class": 0, + "linearIndex": 1152, + "address": "0xd349CD74DD24Fdc87f8BAD507B05AC1eb88710d4", + "cellId": "EI-L05-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B27-C0" + }, + { + "lpbca": 5, + "branch": 27, + "class": 1, + "linearIndex": 1153, + "address": "0xA194B3B1be280Ba8eC2a066D9b53C1EE80EEb065", + "cellId": "EI-L05-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B27-C1" + }, + { + "lpbca": 5, + "branch": 27, + "class": 2, + "linearIndex": 1154, + "address": "0xe8782812f2Ed59a167D97161EF875Ba2f8f44833", + "cellId": "EI-L05-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B27-C2" + }, + { + "lpbca": 5, + "branch": 27, + "class": 3, + "linearIndex": 1155, + "address": "0xE168BF1917E11f7162fc92CB109111995d6d3dB4", + "cellId": "EI-L05-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B27-C3" + }, + { + "lpbca": 5, + "branch": 27, + "class": 4, + "linearIndex": 1156, + "address": "0xBA3Dd57D59391fF686cD6264CC948e2DAC8e4e67", + "cellId": "EI-L05-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B27-C4" + }, + { + "lpbca": 5, + "branch": 27, + "class": 5, + "linearIndex": 1157, + "address": "0x46168000f5aCA9A079AFB5fb56ff7D0827f4729C", + "cellId": "EI-L05-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B27-C5" + }, + { + "lpbca": 5, + "branch": 28, + "class": 0, + "linearIndex": 1158, + "address": "0x1a5e05F9029a18Cb1EBD69262392d5E2bFfB7283", + "cellId": "EI-L05-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B28-C0" + }, + { + "lpbca": 5, + "branch": 28, + "class": 1, + "linearIndex": 1159, + "address": "0x687C8711642CD687e522B18a6699A4FfCDB841e4", + "cellId": "EI-L05-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B28-C1" + }, + { + "lpbca": 5, + "branch": 28, + "class": 2, + "linearIndex": 1160, + "address": "0x7F8dD7222aED944fD2C117A7c016749C720E0cb8", + "cellId": "EI-L05-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B28-C2" + }, + { + "lpbca": 5, + "branch": 28, + "class": 3, + "linearIndex": 1161, + "address": "0xfEf2626F05D0E3A7f374ac04c1041b1DaE342b8c", + "cellId": "EI-L05-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B28-C3" + }, + { + "lpbca": 5, + "branch": 28, + "class": 4, + "linearIndex": 1162, + "address": "0x528a242209b88174A8fA5dD370E96692f8aAa9cE", + "cellId": "EI-L05-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B28-C4" + }, + { + "lpbca": 5, + "branch": 28, + "class": 5, + "linearIndex": 1163, + "address": "0x69b7810C32eF0Cdd68AbC50fde831f76517288CD", + "cellId": "EI-L05-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B28-C5" + }, + { + "lpbca": 5, + "branch": 29, + "class": 0, + "linearIndex": 1164, + "address": "0x6102A8d9Ce6310Ec8fCaB5859AbF9c9C2C5113d9", + "cellId": "EI-L05-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B29-C0" + }, + { + "lpbca": 5, + "branch": 29, + "class": 1, + "linearIndex": 1165, + "address": "0x8F3e3be841a514041FF7595A3EC084084b240049", + "cellId": "EI-L05-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B29-C1" + }, + { + "lpbca": 5, + "branch": 29, + "class": 2, + "linearIndex": 1166, + "address": "0x1B1A01cC85a82df8e3FFF3FF7c1b5f84f027556f", + "cellId": "EI-L05-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B29-C2" + }, + { + "lpbca": 5, + "branch": 29, + "class": 3, + "linearIndex": 1167, + "address": "0x82700949d1850ff4788A4EF44EFedDF25F65f69e", + "cellId": "EI-L05-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B29-C3" + }, + { + "lpbca": 5, + "branch": 29, + "class": 4, + "linearIndex": 1168, + "address": "0x6BC7653992DF13A0b3f0d2B9fC6963Fc739c54cb", + "cellId": "EI-L05-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B29-C4" + }, + { + "lpbca": 5, + "branch": 29, + "class": 5, + "linearIndex": 1169, + "address": "0x778120D49A831AA9C074715E3BB8667B6d97FEFB", + "cellId": "EI-L05-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B29-C5" + }, + { + "lpbca": 5, + "branch": 30, + "class": 0, + "linearIndex": 1170, + "address": "0x6576Bbdd76bC121b4d1104156e1AAb457bD86F00", + "cellId": "EI-L05-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B30-C0" + }, + { + "lpbca": 5, + "branch": 30, + "class": 1, + "linearIndex": 1171, + "address": "0xec8B13Ab9EaA95D7204bB48F17A79635156f7FCA", + "cellId": "EI-L05-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B30-C1" + }, + { + "lpbca": 5, + "branch": 30, + "class": 2, + "linearIndex": 1172, + "address": "0x96bf1E3e4DeA83689A7E123a5B26A0c6bde4AEcD", + "cellId": "EI-L05-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B30-C2" + }, + { + "lpbca": 5, + "branch": 30, + "class": 3, + "linearIndex": 1173, + "address": "0x9184027607062c01E43D10110dD66Fb7647939f3", + "cellId": "EI-L05-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B30-C3" + }, + { + "lpbca": 5, + "branch": 30, + "class": 4, + "linearIndex": 1174, + "address": "0xcDFE7b34F0eCb1f08b3C0f370F6d7bD4Ad9693d0", + "cellId": "EI-L05-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B30-C4" + }, + { + "lpbca": 5, + "branch": 30, + "class": 5, + "linearIndex": 1175, + "address": "0x72eD695Eb7FF68dc35c603a224F6d318cA116374", + "cellId": "EI-L05-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B30-C5" + }, + { + "lpbca": 5, + "branch": 31, + "class": 0, + "linearIndex": 1176, + "address": "0x6cD338778a0BB514Decb6Bd09e928427FDE1DBFc", + "cellId": "EI-L05-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B31-C0" + }, + { + "lpbca": 5, + "branch": 31, + "class": 1, + "linearIndex": 1177, + "address": "0x307e94EADcE369C1952C2c11bdC707D4c70E76Fa", + "cellId": "EI-L05-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B31-C1" + }, + { + "lpbca": 5, + "branch": 31, + "class": 2, + "linearIndex": 1178, + "address": "0x89f60ADcD1834631292DF602ff044a3254511775", + "cellId": "EI-L05-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B31-C2" + }, + { + "lpbca": 5, + "branch": 31, + "class": 3, + "linearIndex": 1179, + "address": "0x9eAB789dC1aE4b6e83AA3F54D61743f31338514C", + "cellId": "EI-L05-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B31-C3" + }, + { + "lpbca": 5, + "branch": 31, + "class": 4, + "linearIndex": 1180, + "address": "0xBb2c599C8fE9Cf932e84875846de68eB28705aC7", + "cellId": "EI-L05-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B31-C4" + }, + { + "lpbca": 5, + "branch": 31, + "class": 5, + "linearIndex": 1181, + "address": "0xC2157F9bb9093d91e22b4AA8a7f7Fb1B369d6794", + "cellId": "EI-L05-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B31-C5" + }, + { + "lpbca": 5, + "branch": 32, + "class": 0, + "linearIndex": 1182, + "address": "0x3362d9727552f87535ce52CDF41eB6f8549bfcFb", + "cellId": "EI-L05-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B32-C0" + }, + { + "lpbca": 5, + "branch": 32, + "class": 1, + "linearIndex": 1183, + "address": "0x715957C8A1f9Ff6d0430D4B968fcfc25B0EB907b", + "cellId": "EI-L05-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B32-C1" + }, + { + "lpbca": 5, + "branch": 32, + "class": 2, + "linearIndex": 1184, + "address": "0x0C2bd86Cf85F4Adc9a587925a5DeBACB88b90FdF", + "cellId": "EI-L05-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B32-C2" + }, + { + "lpbca": 5, + "branch": 32, + "class": 3, + "linearIndex": 1185, + "address": "0x7b003b8611c66e49326cE290D1A2b069938230e3", + "cellId": "EI-L05-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B32-C3" + }, + { + "lpbca": 5, + "branch": 32, + "class": 4, + "linearIndex": 1186, + "address": "0xfd0b920B97D56C23c2aE6B964DC4d11ff84f1a6f", + "cellId": "EI-L05-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B32-C4" + }, + { + "lpbca": 5, + "branch": 32, + "class": 5, + "linearIndex": 1187, + "address": "0xFA24333b407A6BAE0cAd67cE3704C39E472d30Ad", + "cellId": "EI-L05-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L05-B32-C5" + }, + { + "lpbca": 6, + "branch": 0, + "class": 0, + "linearIndex": 1188, + "address": "0xB12CC8f784bD2F8601499ac9B10075056B7f6E7B", + "cellId": "EI-L06-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B00-C0" + }, + { + "lpbca": 6, + "branch": 0, + "class": 1, + "linearIndex": 1189, + "address": "0xfBC478B8f054Bc142aF63110F3edCB0cBcF4368e", + "cellId": "EI-L06-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B00-C1" + }, + { + "lpbca": 6, + "branch": 0, + "class": 2, + "linearIndex": 1190, + "address": "0x2ef09fA59343A7aF649e15F3850AfD9Eb93bf9Bb", + "cellId": "EI-L06-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B00-C2" + }, + { + "lpbca": 6, + "branch": 0, + "class": 3, + "linearIndex": 1191, + "address": "0xD9bA37316caD4dd7f088e0D24908EC27A9B66315", + "cellId": "EI-L06-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B00-C3" + }, + { + "lpbca": 6, + "branch": 0, + "class": 4, + "linearIndex": 1192, + "address": "0x693f41B1bC7650Ca3426D1B9c00771196A8f9E7A", + "cellId": "EI-L06-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B00-C4" + }, + { + "lpbca": 6, + "branch": 0, + "class": 5, + "linearIndex": 1193, + "address": "0x569758FEBdbABd721cC24D6403c193261C0ca9C8", + "cellId": "EI-L06-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B00-C5" + }, + { + "lpbca": 6, + "branch": 1, + "class": 0, + "linearIndex": 1194, + "address": "0x762Bd0586A09C523eFb380BD8f5E66DC8019BE61", + "cellId": "EI-L06-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B01-C0" + }, + { + "lpbca": 6, + "branch": 1, + "class": 1, + "linearIndex": 1195, + "address": "0x57D18a9841679A4f850529945e67408cA7bDc180", + "cellId": "EI-L06-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B01-C1" + }, + { + "lpbca": 6, + "branch": 1, + "class": 2, + "linearIndex": 1196, + "address": "0x6Bb112d774b20A5d093bb715eEF23132A47ECdd7", + "cellId": "EI-L06-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B01-C2" + }, + { + "lpbca": 6, + "branch": 1, + "class": 3, + "linearIndex": 1197, + "address": "0x9Db9919CF84dBBEB6CD34c85d4121AF447f588E4", + "cellId": "EI-L06-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B01-C3" + }, + { + "lpbca": 6, + "branch": 1, + "class": 4, + "linearIndex": 1198, + "address": "0x59f047544d582dE6D83520381dDe495FE7Ce2ae4", + "cellId": "EI-L06-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B01-C4" + }, + { + "lpbca": 6, + "branch": 1, + "class": 5, + "linearIndex": 1199, + "address": "0x3346a0d80d5594B8F51C7c6668E0fa4181d47ed1", + "cellId": "EI-L06-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B01-C5" + }, + { + "lpbca": 6, + "branch": 2, + "class": 0, + "linearIndex": 1200, + "address": "0x65D99f9190A302eeb81F14A4d90b476475CC9a3E", + "cellId": "EI-L06-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B02-C0" + }, + { + "lpbca": 6, + "branch": 2, + "class": 1, + "linearIndex": 1201, + "address": "0x99809BE7e3F86B8775f86dc0defCe04427D8E15c", + "cellId": "EI-L06-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B02-C1" + }, + { + "lpbca": 6, + "branch": 2, + "class": 2, + "linearIndex": 1202, + "address": "0xdE5e57E17e5f59fB9f475b8C36f62dC7600af394", + "cellId": "EI-L06-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B02-C2" + }, + { + "lpbca": 6, + "branch": 2, + "class": 3, + "linearIndex": 1203, + "address": "0x5cD4734826Dc6CE8DCD13401b3CD6Ca8754e2c6e", + "cellId": "EI-L06-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B02-C3" + }, + { + "lpbca": 6, + "branch": 2, + "class": 4, + "linearIndex": 1204, + "address": "0x5BC0F34fc8ec81D311bdD6D7Ae0D0efe9b81F9B9", + "cellId": "EI-L06-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B02-C4" + }, + { + "lpbca": 6, + "branch": 2, + "class": 5, + "linearIndex": 1205, + "address": "0x33237bcB87475d8Df713aB8335897cD0CC68Ece0", + "cellId": "EI-L06-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B02-C5" + }, + { + "lpbca": 6, + "branch": 3, + "class": 0, + "linearIndex": 1206, + "address": "0xD5aABFBdfa2234a162Fc3C4fE8EBa938A9749487", + "cellId": "EI-L06-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B03-C0" + }, + { + "lpbca": 6, + "branch": 3, + "class": 1, + "linearIndex": 1207, + "address": "0xcED758820B2adE63893e74a2677b884F8F73ff76", + "cellId": "EI-L06-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B03-C1" + }, + { + "lpbca": 6, + "branch": 3, + "class": 2, + "linearIndex": 1208, + "address": "0x0EBa508f24E370eAA2E73de914017044f64C4675", + "cellId": "EI-L06-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B03-C2" + }, + { + "lpbca": 6, + "branch": 3, + "class": 3, + "linearIndex": 1209, + "address": "0xb56447a7F45fabFE86cDeea99F549Fcc615985Da", + "cellId": "EI-L06-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B03-C3" + }, + { + "lpbca": 6, + "branch": 3, + "class": 4, + "linearIndex": 1210, + "address": "0xD5E615b206143F3d67e47b5a7b751A277433E692", + "cellId": "EI-L06-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B03-C4" + }, + { + "lpbca": 6, + "branch": 3, + "class": 5, + "linearIndex": 1211, + "address": "0x7C0C9e198e60C11eF050AC467E67Afc11CE77029", + "cellId": "EI-L06-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B03-C5" + }, + { + "lpbca": 6, + "branch": 4, + "class": 0, + "linearIndex": 1212, + "address": "0x99ffe2A7aa93659A49c866b2F9180B9667b5e87f", + "cellId": "EI-L06-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B04-C0" + }, + { + "lpbca": 6, + "branch": 4, + "class": 1, + "linearIndex": 1213, + "address": "0x19C4e4F9474B7853b375fcD84E6553688d6ED0bf", + "cellId": "EI-L06-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B04-C1" + }, + { + "lpbca": 6, + "branch": 4, + "class": 2, + "linearIndex": 1214, + "address": "0x16792f10a25b4Ee4c448D73470607fC3BE97FF16", + "cellId": "EI-L06-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B04-C2" + }, + { + "lpbca": 6, + "branch": 4, + "class": 3, + "linearIndex": 1215, + "address": "0xF7576a0dE82C0f488bf1A11444e982DD5C171cDf", + "cellId": "EI-L06-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B04-C3" + }, + { + "lpbca": 6, + "branch": 4, + "class": 4, + "linearIndex": 1216, + "address": "0x08d1b36C1527835458CfEdD68971F125779C2D42", + "cellId": "EI-L06-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B04-C4" + }, + { + "lpbca": 6, + "branch": 4, + "class": 5, + "linearIndex": 1217, + "address": "0xcDd1021D983309B522CBA24A8B217A69cbFd6Ac8", + "cellId": "EI-L06-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B04-C5" + }, + { + "lpbca": 6, + "branch": 5, + "class": 0, + "linearIndex": 1218, + "address": "0x0aeCe761445292d48b9071e2cd64eb5351744feA", + "cellId": "EI-L06-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B05-C0" + }, + { + "lpbca": 6, + "branch": 5, + "class": 1, + "linearIndex": 1219, + "address": "0xB6EC32358D52472654428bf3eF8Bb6AF78a1C9Bc", + "cellId": "EI-L06-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B05-C1" + }, + { + "lpbca": 6, + "branch": 5, + "class": 2, + "linearIndex": 1220, + "address": "0xE00483ac2948FB87012C164b41fF6ACFCECDfF7C", + "cellId": "EI-L06-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B05-C2" + }, + { + "lpbca": 6, + "branch": 5, + "class": 3, + "linearIndex": 1221, + "address": "0xCacbA2e21eA132a89b1920974807BDe5084A0666", + "cellId": "EI-L06-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B05-C3" + }, + { + "lpbca": 6, + "branch": 5, + "class": 4, + "linearIndex": 1222, + "address": "0x1f67C5479Da62DF36f6bb1667F5334334535aa84", + "cellId": "EI-L06-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B05-C4" + }, + { + "lpbca": 6, + "branch": 5, + "class": 5, + "linearIndex": 1223, + "address": "0x012011E3D31a788a94D5Fa013C2D30F123fbF6B7", + "cellId": "EI-L06-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B05-C5" + }, + { + "lpbca": 6, + "branch": 6, + "class": 0, + "linearIndex": 1224, + "address": "0x177dE3c5d7e7288779eD8556550DC87723C8a9D7", + "cellId": "EI-L06-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B06-C0" + }, + { + "lpbca": 6, + "branch": 6, + "class": 1, + "linearIndex": 1225, + "address": "0x75352E240d0160EdBbE2a26382e58448B410d671", + "cellId": "EI-L06-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B06-C1" + }, + { + "lpbca": 6, + "branch": 6, + "class": 2, + "linearIndex": 1226, + "address": "0x17cEA9E59Ba5532DCe603D691f4100935cb97648", + "cellId": "EI-L06-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B06-C2" + }, + { + "lpbca": 6, + "branch": 6, + "class": 3, + "linearIndex": 1227, + "address": "0x980c8F81C586E7429A5D9F941323ED86191f23Ae", + "cellId": "EI-L06-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B06-C3" + }, + { + "lpbca": 6, + "branch": 6, + "class": 4, + "linearIndex": 1228, + "address": "0x505e5b950321E087d183Cad890a101372c73b5CE", + "cellId": "EI-L06-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B06-C4" + }, + { + "lpbca": 6, + "branch": 6, + "class": 5, + "linearIndex": 1229, + "address": "0x098F28006056384b1B741F336D7310ceAfD0eF9B", + "cellId": "EI-L06-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B06-C5" + }, + { + "lpbca": 6, + "branch": 7, + "class": 0, + "linearIndex": 1230, + "address": "0x28427e4f79B1d36ba280DC55a0811aB30eE4ca73", + "cellId": "EI-L06-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B07-C0" + }, + { + "lpbca": 6, + "branch": 7, + "class": 1, + "linearIndex": 1231, + "address": "0xB130f22d8B9a9251847e8786e637310407744Bcc", + "cellId": "EI-L06-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B07-C1" + }, + { + "lpbca": 6, + "branch": 7, + "class": 2, + "linearIndex": 1232, + "address": "0xAaf1A94356D8906b8cFFa8756105F16F4779DE66", + "cellId": "EI-L06-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B07-C2" + }, + { + "lpbca": 6, + "branch": 7, + "class": 3, + "linearIndex": 1233, + "address": "0x4360494DDAa69E59a8c2EfF6c034Df01324A143b", + "cellId": "EI-L06-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B07-C3" + }, + { + "lpbca": 6, + "branch": 7, + "class": 4, + "linearIndex": 1234, + "address": "0xD637CDce7dA499dE6961565E36E50708A86b35ff", + "cellId": "EI-L06-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B07-C4" + }, + { + "lpbca": 6, + "branch": 7, + "class": 5, + "linearIndex": 1235, + "address": "0x55865472EA19b6ac272131EedF1601418a061Ce3", + "cellId": "EI-L06-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B07-C5" + }, + { + "lpbca": 6, + "branch": 8, + "class": 0, + "linearIndex": 1236, + "address": "0x0cc8BF38758f95dFbb72421A332bb07F7C5DDB90", + "cellId": "EI-L06-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B08-C0" + }, + { + "lpbca": 6, + "branch": 8, + "class": 1, + "linearIndex": 1237, + "address": "0x0cE0e66A1c75cd38dbD9A1AE622C16dC709f4250", + "cellId": "EI-L06-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B08-C1" + }, + { + "lpbca": 6, + "branch": 8, + "class": 2, + "linearIndex": 1238, + "address": "0x163b6A2880D4BFA641Bf54E643067d72c2098b14", + "cellId": "EI-L06-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B08-C2" + }, + { + "lpbca": 6, + "branch": 8, + "class": 3, + "linearIndex": 1239, + "address": "0x47F590e9cb530E18ee31ce2C5e96638777Fa17E0", + "cellId": "EI-L06-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B08-C3" + }, + { + "lpbca": 6, + "branch": 8, + "class": 4, + "linearIndex": 1240, + "address": "0x79EB8010eAccA40B3163515BB969D0283BEd7bfC", + "cellId": "EI-L06-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B08-C4" + }, + { + "lpbca": 6, + "branch": 8, + "class": 5, + "linearIndex": 1241, + "address": "0x4EB93d780Dd867386189d5EDC74aC4BE9e938604", + "cellId": "EI-L06-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B08-C5" + }, + { + "lpbca": 6, + "branch": 9, + "class": 0, + "linearIndex": 1242, + "address": "0xbcF770a6E19F4b8311f2547488623047daa9711d", + "cellId": "EI-L06-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B09-C0" + }, + { + "lpbca": 6, + "branch": 9, + "class": 1, + "linearIndex": 1243, + "address": "0xA7837Af193947F3CB316E4EF963729d1f68e6207", + "cellId": "EI-L06-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B09-C1" + }, + { + "lpbca": 6, + "branch": 9, + "class": 2, + "linearIndex": 1244, + "address": "0x14BCe4453F0da07aA6Ad65B5CC7795fAeb047D61", + "cellId": "EI-L06-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B09-C2" + }, + { + "lpbca": 6, + "branch": 9, + "class": 3, + "linearIndex": 1245, + "address": "0xB74e20b1FE6B48d42f8D7D96b70f928A4f6b0837", + "cellId": "EI-L06-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B09-C3" + }, + { + "lpbca": 6, + "branch": 9, + "class": 4, + "linearIndex": 1246, + "address": "0x4a2602F46390986F7E85eCCDe469789c3a4f7d29", + "cellId": "EI-L06-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B09-C4" + }, + { + "lpbca": 6, + "branch": 9, + "class": 5, + "linearIndex": 1247, + "address": "0xe5cd1BE5AB58dAe6056d19082cE8654F85FF5fEf", + "cellId": "EI-L06-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B09-C5" + }, + { + "lpbca": 6, + "branch": 10, + "class": 0, + "linearIndex": 1248, + "address": "0x632f9B1948C1D25cb7fdF333E9fbf06638273587", + "cellId": "EI-L06-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B10-C0" + }, + { + "lpbca": 6, + "branch": 10, + "class": 1, + "linearIndex": 1249, + "address": "0x3108E89E18eb6449EdFEf8BF7736602ebAE31031", + "cellId": "EI-L06-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B10-C1" + }, + { + "lpbca": 6, + "branch": 10, + "class": 2, + "linearIndex": 1250, + "address": "0x906c0BF619e5e884692DecE03d58a3013D2FC691", + "cellId": "EI-L06-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B10-C2" + }, + { + "lpbca": 6, + "branch": 10, + "class": 3, + "linearIndex": 1251, + "address": "0x7ee1dF8B5a5978d886106d3116c6B373B693AE69", + "cellId": "EI-L06-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B10-C3" + }, + { + "lpbca": 6, + "branch": 10, + "class": 4, + "linearIndex": 1252, + "address": "0x868a4Aff71C7598BF4Ece43d934DB5bbdb08A97B", + "cellId": "EI-L06-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B10-C4" + }, + { + "lpbca": 6, + "branch": 10, + "class": 5, + "linearIndex": 1253, + "address": "0xc801E5091DA42eDe9e2fA61f61cbb9768150c3e2", + "cellId": "EI-L06-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B10-C5" + }, + { + "lpbca": 6, + "branch": 11, + "class": 0, + "linearIndex": 1254, + "address": "0xAA3DEe7D1C59dCC340fdeb690079DF55131472E9", + "cellId": "EI-L06-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B11-C0" + }, + { + "lpbca": 6, + "branch": 11, + "class": 1, + "linearIndex": 1255, + "address": "0x787b95AE4D9640e2402a463E2A135EA2b5563775", + "cellId": "EI-L06-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B11-C1" + }, + { + "lpbca": 6, + "branch": 11, + "class": 2, + "linearIndex": 1256, + "address": "0x66f1388a3b18c0A774A502bBa47316d028D0B4D1", + "cellId": "EI-L06-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B11-C2" + }, + { + "lpbca": 6, + "branch": 11, + "class": 3, + "linearIndex": 1257, + "address": "0xE8da1F302533f56B6E70CC84D6A5Cba0CC8C22fE", + "cellId": "EI-L06-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B11-C3" + }, + { + "lpbca": 6, + "branch": 11, + "class": 4, + "linearIndex": 1258, + "address": "0x94efc3953480cCb5d59c8F393023CDcDe02434c3", + "cellId": "EI-L06-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B11-C4" + }, + { + "lpbca": 6, + "branch": 11, + "class": 5, + "linearIndex": 1259, + "address": "0xD9176F4380616938EE281f47902FA6B71B41ADC4", + "cellId": "EI-L06-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B11-C5" + }, + { + "lpbca": 6, + "branch": 12, + "class": 0, + "linearIndex": 1260, + "address": "0x524A54DC48b78dC30865f031242C4197079038dE", + "cellId": "EI-L06-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B12-C0" + }, + { + "lpbca": 6, + "branch": 12, + "class": 1, + "linearIndex": 1261, + "address": "0x20476f03772891C60Ab9E1C464e61DEAF4A74Bdd", + "cellId": "EI-L06-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B12-C1" + }, + { + "lpbca": 6, + "branch": 12, + "class": 2, + "linearIndex": 1262, + "address": "0x48C9Ab667e1e2fCA2317EC98133b327D13bcE35B", + "cellId": "EI-L06-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B12-C2" + }, + { + "lpbca": 6, + "branch": 12, + "class": 3, + "linearIndex": 1263, + "address": "0x0039a075Ee1AA4f32873C7A486C48E7CafD863E8", + "cellId": "EI-L06-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B12-C3" + }, + { + "lpbca": 6, + "branch": 12, + "class": 4, + "linearIndex": 1264, + "address": "0x2eE0bd7712a451a98FfDe7477463ee38E1A43caa", + "cellId": "EI-L06-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B12-C4" + }, + { + "lpbca": 6, + "branch": 12, + "class": 5, + "linearIndex": 1265, + "address": "0x775A24eE6E9B0f39B4457950DdC5D51684F8C9A1", + "cellId": "EI-L06-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B12-C5" + }, + { + "lpbca": 6, + "branch": 13, + "class": 0, + "linearIndex": 1266, + "address": "0x5c0A4a0135ED9d2c4F291ce9D6AAf35221aD0988", + "cellId": "EI-L06-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B13-C0" + }, + { + "lpbca": 6, + "branch": 13, + "class": 1, + "linearIndex": 1267, + "address": "0xbC51b8EbE557AF367f1a466AAe96D99aF10F4345", + "cellId": "EI-L06-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B13-C1" + }, + { + "lpbca": 6, + "branch": 13, + "class": 2, + "linearIndex": 1268, + "address": "0x9004aaf1452E75d61E86Bc7cE8B2bD0EE5Bb491C", + "cellId": "EI-L06-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B13-C2" + }, + { + "lpbca": 6, + "branch": 13, + "class": 3, + "linearIndex": 1269, + "address": "0x865186f0f952CDCb6425D79A7695D258BFb34A2F", + "cellId": "EI-L06-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B13-C3" + }, + { + "lpbca": 6, + "branch": 13, + "class": 4, + "linearIndex": 1270, + "address": "0x7C3Ef73Ff4872cf2Ac8Fc15Bc21c6eaf824549Ff", + "cellId": "EI-L06-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B13-C4" + }, + { + "lpbca": 6, + "branch": 13, + "class": 5, + "linearIndex": 1271, + "address": "0xf305b258B346E2f9EaecB5c147803f3cfe132fFb", + "cellId": "EI-L06-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B13-C5" + }, + { + "lpbca": 6, + "branch": 14, + "class": 0, + "linearIndex": 1272, + "address": "0xa1359B0B80fb44807d59eD74E8898F24d1c8f5E2", + "cellId": "EI-L06-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B14-C0" + }, + { + "lpbca": 6, + "branch": 14, + "class": 1, + "linearIndex": 1273, + "address": "0x6D9E69AEb7f3A09E17D6ea5c7cBf37972dCE2448", + "cellId": "EI-L06-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B14-C1" + }, + { + "lpbca": 6, + "branch": 14, + "class": 2, + "linearIndex": 1274, + "address": "0xD635EfB9Da38E6Af6d9d7676A097D52563d7e382", + "cellId": "EI-L06-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B14-C2" + }, + { + "lpbca": 6, + "branch": 14, + "class": 3, + "linearIndex": 1275, + "address": "0xf8Cdfc22fD22000ea0D772B40aCf356409D2f5eB", + "cellId": "EI-L06-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B14-C3" + }, + { + "lpbca": 6, + "branch": 14, + "class": 4, + "linearIndex": 1276, + "address": "0xbe2af6ff009f0B65526027aEFa9B835A983b0960", + "cellId": "EI-L06-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B14-C4" + }, + { + "lpbca": 6, + "branch": 14, + "class": 5, + "linearIndex": 1277, + "address": "0xB9079b0C150660B9cc8C852935723aF4F3aCce86", + "cellId": "EI-L06-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B14-C5" + }, + { + "lpbca": 6, + "branch": 15, + "class": 0, + "linearIndex": 1278, + "address": "0xcB52205523822537d6714F0a5Ec860B96C5E1A79", + "cellId": "EI-L06-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B15-C0" + }, + { + "lpbca": 6, + "branch": 15, + "class": 1, + "linearIndex": 1279, + "address": "0x2fE6E4941c3F803Bdb1A0570AAf428Ab10dFA983", + "cellId": "EI-L06-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B15-C1" + }, + { + "lpbca": 6, + "branch": 15, + "class": 2, + "linearIndex": 1280, + "address": "0xb5a9Af7307D30Ee9b352C43E0393E2b8e8eED47C", + "cellId": "EI-L06-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B15-C2" + }, + { + "lpbca": 6, + "branch": 15, + "class": 3, + "linearIndex": 1281, + "address": "0x14bd01FA208B38518eeFCA9f0AA84087DC1e6a87", + "cellId": "EI-L06-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B15-C3" + }, + { + "lpbca": 6, + "branch": 15, + "class": 4, + "linearIndex": 1282, + "address": "0xC265DAb9D246EFF5F68aCe7255ad3e1b38Df1170", + "cellId": "EI-L06-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B15-C4" + }, + { + "lpbca": 6, + "branch": 15, + "class": 5, + "linearIndex": 1283, + "address": "0x809E16Cd7346Cf76a144994036134De0597Bab4f", + "cellId": "EI-L06-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B15-C5" + }, + { + "lpbca": 6, + "branch": 16, + "class": 0, + "linearIndex": 1284, + "address": "0x42619E9DDE0451A70d5958dF8Ea876C45802924A", + "cellId": "EI-L06-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B16-C0" + }, + { + "lpbca": 6, + "branch": 16, + "class": 1, + "linearIndex": 1285, + "address": "0x0a57985Db8b74A7A1506F1B0E5A6DB9A24B9618A", + "cellId": "EI-L06-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B16-C1" + }, + { + "lpbca": 6, + "branch": 16, + "class": 2, + "linearIndex": 1286, + "address": "0xd51Ef36034D81Bb1aA0C7cD396cAE0C74dB2e9E1", + "cellId": "EI-L06-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B16-C2" + }, + { + "lpbca": 6, + "branch": 16, + "class": 3, + "linearIndex": 1287, + "address": "0xd6dC6d48af091eD2649f3650A2637E0Ae6AF6349", + "cellId": "EI-L06-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B16-C3" + }, + { + "lpbca": 6, + "branch": 16, + "class": 4, + "linearIndex": 1288, + "address": "0x1FDcb4425CfDa2Ad9C4160E56ba67AfDa63d60cd", + "cellId": "EI-L06-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B16-C4" + }, + { + "lpbca": 6, + "branch": 16, + "class": 5, + "linearIndex": 1289, + "address": "0x130785973f8788C4945C4e0650BD332992f9eA97", + "cellId": "EI-L06-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B16-C5" + }, + { + "lpbca": 6, + "branch": 17, + "class": 0, + "linearIndex": 1290, + "address": "0x819Db4aF6446152cB0cA6D1a344C3B822386C4C2", + "cellId": "EI-L06-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B17-C0" + }, + { + "lpbca": 6, + "branch": 17, + "class": 1, + "linearIndex": 1291, + "address": "0xC42b276edAB5648484213c3187A3807043c93b61", + "cellId": "EI-L06-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B17-C1" + }, + { + "lpbca": 6, + "branch": 17, + "class": 2, + "linearIndex": 1292, + "address": "0x08CC4f54AA41A91544f481294c93B913B4258927", + "cellId": "EI-L06-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B17-C2" + }, + { + "lpbca": 6, + "branch": 17, + "class": 3, + "linearIndex": 1293, + "address": "0xE078C882B80051629D3b79e8a7C789cA835eBB4B", + "cellId": "EI-L06-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B17-C3" + }, + { + "lpbca": 6, + "branch": 17, + "class": 4, + "linearIndex": 1294, + "address": "0xF58aA78251Dc8207e658e22042e9f3115b606C53", + "cellId": "EI-L06-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B17-C4" + }, + { + "lpbca": 6, + "branch": 17, + "class": 5, + "linearIndex": 1295, + "address": "0xb153D313dBE2344cB0cFC579B73Bc0fa656bA658", + "cellId": "EI-L06-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B17-C5" + }, + { + "lpbca": 6, + "branch": 18, + "class": 0, + "linearIndex": 1296, + "address": "0xa1c3e4053043c9738B73683C719A61d7Cb6517a2", + "cellId": "EI-L06-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B18-C0" + }, + { + "lpbca": 6, + "branch": 18, + "class": 1, + "linearIndex": 1297, + "address": "0x7c6357eA6656Ae740ae3fAC16cbe0B4b5F0cF024", + "cellId": "EI-L06-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B18-C1" + }, + { + "lpbca": 6, + "branch": 18, + "class": 2, + "linearIndex": 1298, + "address": "0x0a38C632C6AEE22772F4Fa9cf4A5CE18eCB4e532", + "cellId": "EI-L06-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B18-C2" + }, + { + "lpbca": 6, + "branch": 18, + "class": 3, + "linearIndex": 1299, + "address": "0x7cBf5d2997E1d13B14F1291b22C6C1712FdA7a9A", + "cellId": "EI-L06-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B18-C3" + }, + { + "lpbca": 6, + "branch": 18, + "class": 4, + "linearIndex": 1300, + "address": "0x7C568766589077F287B64be209Db803D4887e0c2", + "cellId": "EI-L06-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B18-C4" + }, + { + "lpbca": 6, + "branch": 18, + "class": 5, + "linearIndex": 1301, + "address": "0xE296f8491FF3E5B22f1f20E9Fc4DB9B278022F84", + "cellId": "EI-L06-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B18-C5" + }, + { + "lpbca": 6, + "branch": 19, + "class": 0, + "linearIndex": 1302, + "address": "0xA70cFB6Da62Ea281C83d09F56e2C574da15b98B9", + "cellId": "EI-L06-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B19-C0" + }, + { + "lpbca": 6, + "branch": 19, + "class": 1, + "linearIndex": 1303, + "address": "0x995A2786BAe01c02BeD04C1bEC852099BCb447c3", + "cellId": "EI-L06-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B19-C1" + }, + { + "lpbca": 6, + "branch": 19, + "class": 2, + "linearIndex": 1304, + "address": "0x81e82d9CF562E5df6ece80cbE8c8220854a21459", + "cellId": "EI-L06-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B19-C2" + }, + { + "lpbca": 6, + "branch": 19, + "class": 3, + "linearIndex": 1305, + "address": "0xc5e25E35E6788C3A9F622E4efb5B12D29E0aC09b", + "cellId": "EI-L06-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B19-C3" + }, + { + "lpbca": 6, + "branch": 19, + "class": 4, + "linearIndex": 1306, + "address": "0x5BC46929F3014aE6B1D58E4EE1F0411a56aF91b4", + "cellId": "EI-L06-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B19-C4" + }, + { + "lpbca": 6, + "branch": 19, + "class": 5, + "linearIndex": 1307, + "address": "0x006663A6541df0a1F5538358777A91288538B90f", + "cellId": "EI-L06-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B19-C5" + }, + { + "lpbca": 6, + "branch": 20, + "class": 0, + "linearIndex": 1308, + "address": "0x8c2096B03a01088313EF0F35873689fBf58970E7", + "cellId": "EI-L06-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B20-C0" + }, + { + "lpbca": 6, + "branch": 20, + "class": 1, + "linearIndex": 1309, + "address": "0x746d1aEa0ACE59e327bC4a66709F84C5b847dE09", + "cellId": "EI-L06-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B20-C1" + }, + { + "lpbca": 6, + "branch": 20, + "class": 2, + "linearIndex": 1310, + "address": "0x4e800503021de7676B61dEdAdF7a5BE4A9F3eAFc", + "cellId": "EI-L06-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B20-C2" + }, + { + "lpbca": 6, + "branch": 20, + "class": 3, + "linearIndex": 1311, + "address": "0x2a713AA5006a0e52781879aF80a03CeA3aCc474D", + "cellId": "EI-L06-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B20-C3" + }, + { + "lpbca": 6, + "branch": 20, + "class": 4, + "linearIndex": 1312, + "address": "0x7795729748fb4F19c7f75531919Caf9CDB8807a2", + "cellId": "EI-L06-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B20-C4" + }, + { + "lpbca": 6, + "branch": 20, + "class": 5, + "linearIndex": 1313, + "address": "0xa610Aa85bB5a213CbE204aDC9925Ff4bAec11F59", + "cellId": "EI-L06-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B20-C5" + }, + { + "lpbca": 6, + "branch": 21, + "class": 0, + "linearIndex": 1314, + "address": "0xcd8eBcb1F8950e296a98b8ac4029676fE8747CAB", + "cellId": "EI-L06-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B21-C0" + }, + { + "lpbca": 6, + "branch": 21, + "class": 1, + "linearIndex": 1315, + "address": "0x6d1CAFC95BfC1a29d0fa57c36397C5E4A574393f", + "cellId": "EI-L06-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B21-C1" + }, + { + "lpbca": 6, + "branch": 21, + "class": 2, + "linearIndex": 1316, + "address": "0xD64edF0E9a806011307C9D4BBD0461942f7C1032", + "cellId": "EI-L06-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B21-C2" + }, + { + "lpbca": 6, + "branch": 21, + "class": 3, + "linearIndex": 1317, + "address": "0x8975a7F40a4504f756EFE818d049292365452879", + "cellId": "EI-L06-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B21-C3" + }, + { + "lpbca": 6, + "branch": 21, + "class": 4, + "linearIndex": 1318, + "address": "0x88Ce39Cb3e10feCEe94791886FF52D189bC99397", + "cellId": "EI-L06-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B21-C4" + }, + { + "lpbca": 6, + "branch": 21, + "class": 5, + "linearIndex": 1319, + "address": "0x59e1ca1D01BD7f6FA8882e27434BF97E505Cc8aD", + "cellId": "EI-L06-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B21-C5" + }, + { + "lpbca": 6, + "branch": 22, + "class": 0, + "linearIndex": 1320, + "address": "0x31f2429bb675E22F26B908a10fE8EDD5a80A1801", + "cellId": "EI-L06-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B22-C0" + }, + { + "lpbca": 6, + "branch": 22, + "class": 1, + "linearIndex": 1321, + "address": "0xe4e564398BAd3Fe018748e0d872F7D1166513a64", + "cellId": "EI-L06-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B22-C1" + }, + { + "lpbca": 6, + "branch": 22, + "class": 2, + "linearIndex": 1322, + "address": "0x93B672F0bC567Cd594AF4d031215ecE21ED64Bc8", + "cellId": "EI-L06-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B22-C2" + }, + { + "lpbca": 6, + "branch": 22, + "class": 3, + "linearIndex": 1323, + "address": "0x5653eb877b3781a015158eA122AF1c096418cd86", + "cellId": "EI-L06-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B22-C3" + }, + { + "lpbca": 6, + "branch": 22, + "class": 4, + "linearIndex": 1324, + "address": "0xD2705d734c9bC928aeF8721b533D8d3F770C28a8", + "cellId": "EI-L06-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B22-C4" + }, + { + "lpbca": 6, + "branch": 22, + "class": 5, + "linearIndex": 1325, + "address": "0x108Fc7ca11BDD0E233BC3C033A2c1ff65B086C03", + "cellId": "EI-L06-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B22-C5" + }, + { + "lpbca": 6, + "branch": 23, + "class": 0, + "linearIndex": 1326, + "address": "0xc6c9BAbDf021bc5B29334eFbD7C9fB369D15935A", + "cellId": "EI-L06-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B23-C0" + }, + { + "lpbca": 6, + "branch": 23, + "class": 1, + "linearIndex": 1327, + "address": "0x84A97133460C218B9105db1e1c19C117EeCC11F0", + "cellId": "EI-L06-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B23-C1" + }, + { + "lpbca": 6, + "branch": 23, + "class": 2, + "linearIndex": 1328, + "address": "0x35e7e5Dd621ab67D5e0065d0017823D2f99C8dC0", + "cellId": "EI-L06-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B23-C2" + }, + { + "lpbca": 6, + "branch": 23, + "class": 3, + "linearIndex": 1329, + "address": "0x48cF0De27EA8E800c4c956D59850900C50Cf1876", + "cellId": "EI-L06-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B23-C3" + }, + { + "lpbca": 6, + "branch": 23, + "class": 4, + "linearIndex": 1330, + "address": "0xED0E6C7DFEfFd839013145A7C416e5269a68ae7e", + "cellId": "EI-L06-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B23-C4" + }, + { + "lpbca": 6, + "branch": 23, + "class": 5, + "linearIndex": 1331, + "address": "0xdaACab91FD50EdD0067E94Ec98D2042951c3c0c2", + "cellId": "EI-L06-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B23-C5" + }, + { + "lpbca": 6, + "branch": 24, + "class": 0, + "linearIndex": 1332, + "address": "0x97b417CA28598804F3D37679CC8829915c81016f", + "cellId": "EI-L06-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B24-C0" + }, + { + "lpbca": 6, + "branch": 24, + "class": 1, + "linearIndex": 1333, + "address": "0xcF43f723926021EC3847eB734ab77B0cC8bE08f6", + "cellId": "EI-L06-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B24-C1" + }, + { + "lpbca": 6, + "branch": 24, + "class": 2, + "linearIndex": 1334, + "address": "0x563e3b9EAdbd8613A897fd22a611330255FfA2be", + "cellId": "EI-L06-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B24-C2" + }, + { + "lpbca": 6, + "branch": 24, + "class": 3, + "linearIndex": 1335, + "address": "0x32339ecDB8F96881281131a9E34EC482DBB42efe", + "cellId": "EI-L06-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B24-C3" + }, + { + "lpbca": 6, + "branch": 24, + "class": 4, + "linearIndex": 1336, + "address": "0x008b68D7FB87462CA88ac7B14071c8557deCCe25", + "cellId": "EI-L06-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B24-C4" + }, + { + "lpbca": 6, + "branch": 24, + "class": 5, + "linearIndex": 1337, + "address": "0x44846Bc0Cc6731c02A0d98b8761ED0DB6282b399", + "cellId": "EI-L06-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B24-C5" + }, + { + "lpbca": 6, + "branch": 25, + "class": 0, + "linearIndex": 1338, + "address": "0x8811Daa2A6DFd1Aa5123bb8d3614B10d8e6330e9", + "cellId": "EI-L06-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B25-C0" + }, + { + "lpbca": 6, + "branch": 25, + "class": 1, + "linearIndex": 1339, + "address": "0x73a57b32276601319533ef1749Cfa923Ff2Fea31", + "cellId": "EI-L06-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B25-C1" + }, + { + "lpbca": 6, + "branch": 25, + "class": 2, + "linearIndex": 1340, + "address": "0xE4cC5Be2375974c574b071B4590788583eD3aa73", + "cellId": "EI-L06-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B25-C2" + }, + { + "lpbca": 6, + "branch": 25, + "class": 3, + "linearIndex": 1341, + "address": "0x42CE3CCc8c1bD653F0Be9F764feb9ac3B9d3eB38", + "cellId": "EI-L06-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B25-C3" + }, + { + "lpbca": 6, + "branch": 25, + "class": 4, + "linearIndex": 1342, + "address": "0x2f59a8Ab0204CA01a14f5e7239E8B5EfA582DA8e", + "cellId": "EI-L06-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B25-C4" + }, + { + "lpbca": 6, + "branch": 25, + "class": 5, + "linearIndex": 1343, + "address": "0x0a8DadFb55F8254B13b053E5e25b95C582ab37a6", + "cellId": "EI-L06-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B25-C5" + }, + { + "lpbca": 6, + "branch": 26, + "class": 0, + "linearIndex": 1344, + "address": "0xdB265093F8C713A3882b61b2819f147D9571fF0B", + "cellId": "EI-L06-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B26-C0" + }, + { + "lpbca": 6, + "branch": 26, + "class": 1, + "linearIndex": 1345, + "address": "0x0d2726231AF3c1fE6f5113c97261f0718B217710", + "cellId": "EI-L06-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B26-C1" + }, + { + "lpbca": 6, + "branch": 26, + "class": 2, + "linearIndex": 1346, + "address": "0x0eC0449c5353128de5AE2378D8612568C21768f3", + "cellId": "EI-L06-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B26-C2" + }, + { + "lpbca": 6, + "branch": 26, + "class": 3, + "linearIndex": 1347, + "address": "0xf92A9936d7A17f2B88b7242D1Ff2936c69fF57DB", + "cellId": "EI-L06-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B26-C3" + }, + { + "lpbca": 6, + "branch": 26, + "class": 4, + "linearIndex": 1348, + "address": "0x2795C4C5e0CB1F43763EC458180b4dCcb4D59D62", + "cellId": "EI-L06-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B26-C4" + }, + { + "lpbca": 6, + "branch": 26, + "class": 5, + "linearIndex": 1349, + "address": "0x1273790EB3771e8f4F96d3db83c840894919aAa2", + "cellId": "EI-L06-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B26-C5" + }, + { + "lpbca": 6, + "branch": 27, + "class": 0, + "linearIndex": 1350, + "address": "0x57FBfDaa2dfc6DE7b3A2DF2428F948412f5CD1D1", + "cellId": "EI-L06-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B27-C0" + }, + { + "lpbca": 6, + "branch": 27, + "class": 1, + "linearIndex": 1351, + "address": "0x2B625C806A3DCB3C5EF9C524D7fffea51BDBab0b", + "cellId": "EI-L06-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B27-C1" + }, + { + "lpbca": 6, + "branch": 27, + "class": 2, + "linearIndex": 1352, + "address": "0x2EC907e4dfd29985860816b60c4E1Bd4f7baC647", + "cellId": "EI-L06-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B27-C2" + }, + { + "lpbca": 6, + "branch": 27, + "class": 3, + "linearIndex": 1353, + "address": "0x8AD8CFD889fc54EF1Cf402e177Cdb26aCC93FFFd", + "cellId": "EI-L06-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B27-C3" + }, + { + "lpbca": 6, + "branch": 27, + "class": 4, + "linearIndex": 1354, + "address": "0xba28F900D0c4D5A5640a27Fd02a47a9469F7483d", + "cellId": "EI-L06-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B27-C4" + }, + { + "lpbca": 6, + "branch": 27, + "class": 5, + "linearIndex": 1355, + "address": "0x38b723086A076e8242351F56899387B5FC498993", + "cellId": "EI-L06-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B27-C5" + }, + { + "lpbca": 6, + "branch": 28, + "class": 0, + "linearIndex": 1356, + "address": "0x6B7649fae52eEd89bCEc89Fed86979c19235cAE8", + "cellId": "EI-L06-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B28-C0" + }, + { + "lpbca": 6, + "branch": 28, + "class": 1, + "linearIndex": 1357, + "address": "0x8570A9A10d9Bfa099de6FEc66fe7154c921AbAA6", + "cellId": "EI-L06-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B28-C1" + }, + { + "lpbca": 6, + "branch": 28, + "class": 2, + "linearIndex": 1358, + "address": "0x4086C468247293e32Ab358CD590610D347BF7a9C", + "cellId": "EI-L06-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B28-C2" + }, + { + "lpbca": 6, + "branch": 28, + "class": 3, + "linearIndex": 1359, + "address": "0x5359F9724D686C581EF9F5F2BB7B9ed69cb82A0d", + "cellId": "EI-L06-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B28-C3" + }, + { + "lpbca": 6, + "branch": 28, + "class": 4, + "linearIndex": 1360, + "address": "0xb5de53E96fAe03F4C547900194E2A0043B50Db63", + "cellId": "EI-L06-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B28-C4" + }, + { + "lpbca": 6, + "branch": 28, + "class": 5, + "linearIndex": 1361, + "address": "0xD4be8F8ED70e77F5e646cB8423606e62DcaF114b", + "cellId": "EI-L06-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B28-C5" + }, + { + "lpbca": 6, + "branch": 29, + "class": 0, + "linearIndex": 1362, + "address": "0xA05FdCe9Ac00c4420B97d04961D0FdB2349d6bFe", + "cellId": "EI-L06-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B29-C0" + }, + { + "lpbca": 6, + "branch": 29, + "class": 1, + "linearIndex": 1363, + "address": "0xB5e820597664317B16253dD56D0E622Db436AC74", + "cellId": "EI-L06-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B29-C1" + }, + { + "lpbca": 6, + "branch": 29, + "class": 2, + "linearIndex": 1364, + "address": "0x349e970bAa1373AA51F78704a8fD05ebb4305ff6", + "cellId": "EI-L06-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B29-C2" + }, + { + "lpbca": 6, + "branch": 29, + "class": 3, + "linearIndex": 1365, + "address": "0x637078dc699BcF0F5ba6b1c9f0F5dc71506F7715", + "cellId": "EI-L06-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B29-C3" + }, + { + "lpbca": 6, + "branch": 29, + "class": 4, + "linearIndex": 1366, + "address": "0x19279104B62266153944Abcdb6b2456f17c0f5BE", + "cellId": "EI-L06-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B29-C4" + }, + { + "lpbca": 6, + "branch": 29, + "class": 5, + "linearIndex": 1367, + "address": "0x8B631f3867e16f15275C74C5465e0C51EE70adA0", + "cellId": "EI-L06-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B29-C5" + }, + { + "lpbca": 6, + "branch": 30, + "class": 0, + "linearIndex": 1368, + "address": "0xeB304d32D29eE67Cc94747dc076b493452Eea577", + "cellId": "EI-L06-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B30-C0" + }, + { + "lpbca": 6, + "branch": 30, + "class": 1, + "linearIndex": 1369, + "address": "0xBc9F1f5F621B0Df6A47aa800C94985B196FE6Fe7", + "cellId": "EI-L06-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B30-C1" + }, + { + "lpbca": 6, + "branch": 30, + "class": 2, + "linearIndex": 1370, + "address": "0x9A3787047dB9457752D416035540CbA8b85aa7e9", + "cellId": "EI-L06-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B30-C2" + }, + { + "lpbca": 6, + "branch": 30, + "class": 3, + "linearIndex": 1371, + "address": "0x1FB7Fec6b20747c60D85583609042D056a6e78B6", + "cellId": "EI-L06-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B30-C3" + }, + { + "lpbca": 6, + "branch": 30, + "class": 4, + "linearIndex": 1372, + "address": "0x4AD811358456Ec0425c071BCfba36649cDFB78D3", + "cellId": "EI-L06-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B30-C4" + }, + { + "lpbca": 6, + "branch": 30, + "class": 5, + "linearIndex": 1373, + "address": "0x3265a78eE3Cd9f3eb3D91A68886917dEE5727Ac9", + "cellId": "EI-L06-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B30-C5" + }, + { + "lpbca": 6, + "branch": 31, + "class": 0, + "linearIndex": 1374, + "address": "0x949b390C3FFBe4aDa588176DD95E22Cfb6499e6B", + "cellId": "EI-L06-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B31-C0" + }, + { + "lpbca": 6, + "branch": 31, + "class": 1, + "linearIndex": 1375, + "address": "0xEeb1D488852227807cc4efcb776ef1C4Ba29256c", + "cellId": "EI-L06-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B31-C1" + }, + { + "lpbca": 6, + "branch": 31, + "class": 2, + "linearIndex": 1376, + "address": "0xa9bb5dFA873E4a4DCC1F70D3ac127c695C044993", + "cellId": "EI-L06-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B31-C2" + }, + { + "lpbca": 6, + "branch": 31, + "class": 3, + "linearIndex": 1377, + "address": "0x4d2584CDa07F08Ac790a7eAd6c78105538243b38", + "cellId": "EI-L06-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B31-C3" + }, + { + "lpbca": 6, + "branch": 31, + "class": 4, + "linearIndex": 1378, + "address": "0xc0b24D2a5f806b31d4b1e4d4e21C1d3d99d9c250", + "cellId": "EI-L06-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B31-C4" + }, + { + "lpbca": 6, + "branch": 31, + "class": 5, + "linearIndex": 1379, + "address": "0xFD9a86EbfdcF350B5f4b024212240Ab16B92FCD0", + "cellId": "EI-L06-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B31-C5" + }, + { + "lpbca": 6, + "branch": 32, + "class": 0, + "linearIndex": 1380, + "address": "0x0a5B80a611b692733C207c3Eec698Fd903633581", + "cellId": "EI-L06-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B32-C0" + }, + { + "lpbca": 6, + "branch": 32, + "class": 1, + "linearIndex": 1381, + "address": "0x25e576687F72460ecA16Fca4c7FD195f3AEd2952", + "cellId": "EI-L06-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B32-C1" + }, + { + "lpbca": 6, + "branch": 32, + "class": 2, + "linearIndex": 1382, + "address": "0xe48369D7706449B4b8a4Ddb9c1433A7d462fE383", + "cellId": "EI-L06-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B32-C2" + }, + { + "lpbca": 6, + "branch": 32, + "class": 3, + "linearIndex": 1383, + "address": "0x52142B7a26569A37838c09e4Ed4fc2c7fe7F5Fa4", + "cellId": "EI-L06-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B32-C3" + }, + { + "lpbca": 6, + "branch": 32, + "class": 4, + "linearIndex": 1384, + "address": "0x9F58B76D7D50CD5B7dE89619E03ae38B0204cCc8", + "cellId": "EI-L06-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B32-C4" + }, + { + "lpbca": 6, + "branch": 32, + "class": 5, + "linearIndex": 1385, + "address": "0xA26aB8bcd34029Ee623DFC3a2715d8E547340EC6", + "cellId": "EI-L06-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L06-B32-C5" + }, + { + "lpbca": 7, + "branch": 0, + "class": 0, + "linearIndex": 1386, + "address": "0xd84Ffcd8664Ee72a20bc5cFDDd734Ebc8D93D277", + "cellId": "EI-L07-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B00-C0" + }, + { + "lpbca": 7, + "branch": 0, + "class": 1, + "linearIndex": 1387, + "address": "0xc011f8e42B2616Ca9d09A1ebb49b281d226d58aA", + "cellId": "EI-L07-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B00-C1" + }, + { + "lpbca": 7, + "branch": 0, + "class": 2, + "linearIndex": 1388, + "address": "0x7082F3585a9C335D3faefb59A9CF289E1B1a3fb7", + "cellId": "EI-L07-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B00-C2" + }, + { + "lpbca": 7, + "branch": 0, + "class": 3, + "linearIndex": 1389, + "address": "0x3e15563E841aEF069ed3e256B6411488a302271F", + "cellId": "EI-L07-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B00-C3" + }, + { + "lpbca": 7, + "branch": 0, + "class": 4, + "linearIndex": 1390, + "address": "0x1f266C7197551622a7bBD67C75c234d3b84e72b2", + "cellId": "EI-L07-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B00-C4" + }, + { + "lpbca": 7, + "branch": 0, + "class": 5, + "linearIndex": 1391, + "address": "0x5a78BfA2afA3B125320baF224e04919C7eb81cB6", + "cellId": "EI-L07-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B00-C5" + }, + { + "lpbca": 7, + "branch": 1, + "class": 0, + "linearIndex": 1392, + "address": "0x00adEDc578006D2DA3CdD865b29b8a3b826c18aB", + "cellId": "EI-L07-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B01-C0" + }, + { + "lpbca": 7, + "branch": 1, + "class": 1, + "linearIndex": 1393, + "address": "0xD6F5a8C5B7091BE1cC3da27DedB727E9c725abfb", + "cellId": "EI-L07-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B01-C1" + }, + { + "lpbca": 7, + "branch": 1, + "class": 2, + "linearIndex": 1394, + "address": "0x5509E91887Be73694fE893f7e848F335f1C1a745", + "cellId": "EI-L07-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B01-C2" + }, + { + "lpbca": 7, + "branch": 1, + "class": 3, + "linearIndex": 1395, + "address": "0x754F814C99931e78ea9f1331680ae6cba3272307", + "cellId": "EI-L07-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B01-C3" + }, + { + "lpbca": 7, + "branch": 1, + "class": 4, + "linearIndex": 1396, + "address": "0x13341be61dAfd53DD51619d30100019a691f630a", + "cellId": "EI-L07-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B01-C4" + }, + { + "lpbca": 7, + "branch": 1, + "class": 5, + "linearIndex": 1397, + "address": "0xaDdC6a466250D750d814829cD0b736CB5033BED3", + "cellId": "EI-L07-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B01-C5" + }, + { + "lpbca": 7, + "branch": 2, + "class": 0, + "linearIndex": 1398, + "address": "0x1B0e678400a385ce70d7bE4D51870A74648fC2f3", + "cellId": "EI-L07-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B02-C0" + }, + { + "lpbca": 7, + "branch": 2, + "class": 1, + "linearIndex": 1399, + "address": "0x94E41848E9233ACFb913562CEdb2dB57eb344727", + "cellId": "EI-L07-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B02-C1" + }, + { + "lpbca": 7, + "branch": 2, + "class": 2, + "linearIndex": 1400, + "address": "0x5268E35aa05679B32891147a8803669474dBd822", + "cellId": "EI-L07-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B02-C2" + }, + { + "lpbca": 7, + "branch": 2, + "class": 3, + "linearIndex": 1401, + "address": "0x5d4bC276E95A57CfEE3Dd69597D930BadB69b096", + "cellId": "EI-L07-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B02-C3" + }, + { + "lpbca": 7, + "branch": 2, + "class": 4, + "linearIndex": 1402, + "address": "0xFa160CB9b2C878539072A32F9b879e23FB37Dd68", + "cellId": "EI-L07-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B02-C4" + }, + { + "lpbca": 7, + "branch": 2, + "class": 5, + "linearIndex": 1403, + "address": "0x7Cdb4fDBD48b974D842962B70Bf36885200d355F", + "cellId": "EI-L07-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B02-C5" + }, + { + "lpbca": 7, + "branch": 3, + "class": 0, + "linearIndex": 1404, + "address": "0xAd54cbBe10012c86E5e77f41859fE4e111F29b8c", + "cellId": "EI-L07-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B03-C0" + }, + { + "lpbca": 7, + "branch": 3, + "class": 1, + "linearIndex": 1405, + "address": "0x28832B14007bAc6b50968C4CA33e3bE2f9ad61E3", + "cellId": "EI-L07-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B03-C1" + }, + { + "lpbca": 7, + "branch": 3, + "class": 2, + "linearIndex": 1406, + "address": "0x7eC41B66CB87FFE6f5459a0167f65D5D7a5231b3", + "cellId": "EI-L07-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B03-C2" + }, + { + "lpbca": 7, + "branch": 3, + "class": 3, + "linearIndex": 1407, + "address": "0xb8AaB43Ed6785400bd4539947C52e9bCB407703e", + "cellId": "EI-L07-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B03-C3" + }, + { + "lpbca": 7, + "branch": 3, + "class": 4, + "linearIndex": 1408, + "address": "0x92ec9c4e70e156a565C74f2ef86698D224Dfd4B9", + "cellId": "EI-L07-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B03-C4" + }, + { + "lpbca": 7, + "branch": 3, + "class": 5, + "linearIndex": 1409, + "address": "0xee60e0b16C4B44AEe456eFafD2e017d274222c84", + "cellId": "EI-L07-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B03-C5" + }, + { + "lpbca": 7, + "branch": 4, + "class": 0, + "linearIndex": 1410, + "address": "0x98950C1E46be05b4178645532714134554Faf19F", + "cellId": "EI-L07-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B04-C0" + }, + { + "lpbca": 7, + "branch": 4, + "class": 1, + "linearIndex": 1411, + "address": "0xF4caf9F3DAe49220E16DF1A5E09dA825331e781f", + "cellId": "EI-L07-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B04-C1" + }, + { + "lpbca": 7, + "branch": 4, + "class": 2, + "linearIndex": 1412, + "address": "0x00cC1f08e025715713c837a6F3b3f906C5A6319D", + "cellId": "EI-L07-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B04-C2" + }, + { + "lpbca": 7, + "branch": 4, + "class": 3, + "linearIndex": 1413, + "address": "0x97453abfEd262663eD6789273C1119188120d8Fc", + "cellId": "EI-L07-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B04-C3" + }, + { + "lpbca": 7, + "branch": 4, + "class": 4, + "linearIndex": 1414, + "address": "0x237BE9f675ca4bD831AFb4325E7E98e2Ef4ba3c4", + "cellId": "EI-L07-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B04-C4" + }, + { + "lpbca": 7, + "branch": 4, + "class": 5, + "linearIndex": 1415, + "address": "0xFd20e5d876cA34956179cC3e195D9828d98B89A4", + "cellId": "EI-L07-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B04-C5" + }, + { + "lpbca": 7, + "branch": 5, + "class": 0, + "linearIndex": 1416, + "address": "0x6ba273304251c1aBc9f7854A0A5C86ecB3CDcF7E", + "cellId": "EI-L07-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B05-C0" + }, + { + "lpbca": 7, + "branch": 5, + "class": 1, + "linearIndex": 1417, + "address": "0xc1939Af40Ec34392ef93df1a5439a3A3BC9CB02d", + "cellId": "EI-L07-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B05-C1" + }, + { + "lpbca": 7, + "branch": 5, + "class": 2, + "linearIndex": 1418, + "address": "0x54Cc26590B63077Fa8d7bE871Df6806D5fb1bdB5", + "cellId": "EI-L07-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B05-C2" + }, + { + "lpbca": 7, + "branch": 5, + "class": 3, + "linearIndex": 1419, + "address": "0x06E2D645d2f43A9ECEb2882B3b31D20Fa31d7fE9", + "cellId": "EI-L07-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B05-C3" + }, + { + "lpbca": 7, + "branch": 5, + "class": 4, + "linearIndex": 1420, + "address": "0x55c09472D04Dc01Ff4D5804B1f2a5EcAa50890B6", + "cellId": "EI-L07-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B05-C4" + }, + { + "lpbca": 7, + "branch": 5, + "class": 5, + "linearIndex": 1421, + "address": "0xe50F728d89ED1959694831243DF1B2B10cE36175", + "cellId": "EI-L07-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B05-C5" + }, + { + "lpbca": 7, + "branch": 6, + "class": 0, + "linearIndex": 1422, + "address": "0xF16Fecd994A572350a625747B3c1374f616AD19f", + "cellId": "EI-L07-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B06-C0" + }, + { + "lpbca": 7, + "branch": 6, + "class": 1, + "linearIndex": 1423, + "address": "0x45985fD284e53c182119Bf0C9b2b0C940Cf7b3b3", + "cellId": "EI-L07-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B06-C1" + }, + { + "lpbca": 7, + "branch": 6, + "class": 2, + "linearIndex": 1424, + "address": "0x4e88a42945acFf96843d3E9eD840266d11437cFF", + "cellId": "EI-L07-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B06-C2" + }, + { + "lpbca": 7, + "branch": 6, + "class": 3, + "linearIndex": 1425, + "address": "0x94cb5BB5e1D88a66778621D4b51240A85c84D00a", + "cellId": "EI-L07-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B06-C3" + }, + { + "lpbca": 7, + "branch": 6, + "class": 4, + "linearIndex": 1426, + "address": "0x2a95252a5a2Be9038Ab02124aA5bDbCc937804FF", + "cellId": "EI-L07-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B06-C4" + }, + { + "lpbca": 7, + "branch": 6, + "class": 5, + "linearIndex": 1427, + "address": "0x29d9004384B0a208795b7E274EAAbC6B797EB615", + "cellId": "EI-L07-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B06-C5" + }, + { + "lpbca": 7, + "branch": 7, + "class": 0, + "linearIndex": 1428, + "address": "0xD379275162A92D80fa00FFfdFC22CCDB63795a83", + "cellId": "EI-L07-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B07-C0" + }, + { + "lpbca": 7, + "branch": 7, + "class": 1, + "linearIndex": 1429, + "address": "0xa943C5F9394a8a4Fa0991aC1D46900B0C4b5db12", + "cellId": "EI-L07-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B07-C1" + }, + { + "lpbca": 7, + "branch": 7, + "class": 2, + "linearIndex": 1430, + "address": "0x4a99553C5278960c5CE5D283a36d2d481642F22e", + "cellId": "EI-L07-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B07-C2" + }, + { + "lpbca": 7, + "branch": 7, + "class": 3, + "linearIndex": 1431, + "address": "0x63a6A8B678C4b37Bbf59b54758CBb5A6E702deA3", + "cellId": "EI-L07-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B07-C3" + }, + { + "lpbca": 7, + "branch": 7, + "class": 4, + "linearIndex": 1432, + "address": "0x16B9126fa3B1376EB0470039B18436EC1e141A34", + "cellId": "EI-L07-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B07-C4" + }, + { + "lpbca": 7, + "branch": 7, + "class": 5, + "linearIndex": 1433, + "address": "0x7785f9df42A314155C0C93269A351A48EdcD613B", + "cellId": "EI-L07-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B07-C5" + }, + { + "lpbca": 7, + "branch": 8, + "class": 0, + "linearIndex": 1434, + "address": "0x2242B0CbeDc56c549bFb61fC0f517D2E94a8f0Db", + "cellId": "EI-L07-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B08-C0" + }, + { + "lpbca": 7, + "branch": 8, + "class": 1, + "linearIndex": 1435, + "address": "0x52aba54854E411869fAAc01446d5E8065d171c0C", + "cellId": "EI-L07-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B08-C1" + }, + { + "lpbca": 7, + "branch": 8, + "class": 2, + "linearIndex": 1436, + "address": "0x9079bcb73433E19CC5932C59c56F194dF4f3f9D6", + "cellId": "EI-L07-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B08-C2" + }, + { + "lpbca": 7, + "branch": 8, + "class": 3, + "linearIndex": 1437, + "address": "0xC0716EB6AfdB3f35F8B9d6a31ac7BE1C7B647f03", + "cellId": "EI-L07-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B08-C3" + }, + { + "lpbca": 7, + "branch": 8, + "class": 4, + "linearIndex": 1438, + "address": "0x7d6F4E48879eCec2804035f8505CbFd1abf53e06", + "cellId": "EI-L07-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B08-C4" + }, + { + "lpbca": 7, + "branch": 8, + "class": 5, + "linearIndex": 1439, + "address": "0x117eF0fc616C57c055B50D789545e4281DEB068B", + "cellId": "EI-L07-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B08-C5" + }, + { + "lpbca": 7, + "branch": 9, + "class": 0, + "linearIndex": 1440, + "address": "0x1F34679b5bBE9E66C127733023922cD618b01145", + "cellId": "EI-L07-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B09-C0" + }, + { + "lpbca": 7, + "branch": 9, + "class": 1, + "linearIndex": 1441, + "address": "0x95a3813e7BBc66001813C9bDA535235976DA9703", + "cellId": "EI-L07-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B09-C1" + }, + { + "lpbca": 7, + "branch": 9, + "class": 2, + "linearIndex": 1442, + "address": "0xD3b82d1940e7146e802CABd48E7D3B77eD084F3a", + "cellId": "EI-L07-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B09-C2" + }, + { + "lpbca": 7, + "branch": 9, + "class": 3, + "linearIndex": 1443, + "address": "0x6BE2cC3eee246D7Df926349baAb47478e94183E0", + "cellId": "EI-L07-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B09-C3" + }, + { + "lpbca": 7, + "branch": 9, + "class": 4, + "linearIndex": 1444, + "address": "0x7D619BB50EfC305159CEbfe80faD12D664316D57", + "cellId": "EI-L07-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B09-C4" + }, + { + "lpbca": 7, + "branch": 9, + "class": 5, + "linearIndex": 1445, + "address": "0x24730db094cceDc78151311C62164E7eB0765f23", + "cellId": "EI-L07-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B09-C5" + }, + { + "lpbca": 7, + "branch": 10, + "class": 0, + "linearIndex": 1446, + "address": "0x69B8f326FEbCCb96F903d3DAb07f79c92beBDeF3", + "cellId": "EI-L07-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B10-C0" + }, + { + "lpbca": 7, + "branch": 10, + "class": 1, + "linearIndex": 1447, + "address": "0xbF4139f271804a083E69c70F34b559575f2320D2", + "cellId": "EI-L07-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B10-C1" + }, + { + "lpbca": 7, + "branch": 10, + "class": 2, + "linearIndex": 1448, + "address": "0x765CEE587CE4bC5DaeA780234f774a49c89e12eF", + "cellId": "EI-L07-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B10-C2" + }, + { + "lpbca": 7, + "branch": 10, + "class": 3, + "linearIndex": 1449, + "address": "0xe144feD39A0396386E6Ce82a36b788F5052526CB", + "cellId": "EI-L07-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B10-C3" + }, + { + "lpbca": 7, + "branch": 10, + "class": 4, + "linearIndex": 1450, + "address": "0xaCc4A92647F283a7a6A4a2497C08d0143469F6d1", + "cellId": "EI-L07-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B10-C4" + }, + { + "lpbca": 7, + "branch": 10, + "class": 5, + "linearIndex": 1451, + "address": "0x3f41EFFB53C55a972fF7Ed3A2ab541Ef4E020681", + "cellId": "EI-L07-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B10-C5" + }, + { + "lpbca": 7, + "branch": 11, + "class": 0, + "linearIndex": 1452, + "address": "0x3fABb2AD22B977413F9232adcC8a6d445BBF6E7a", + "cellId": "EI-L07-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B11-C0" + }, + { + "lpbca": 7, + "branch": 11, + "class": 1, + "linearIndex": 1453, + "address": "0xd1c5C79E2CAF41FF6ECc7F20D8aa1854fB0181ef", + "cellId": "EI-L07-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B11-C1" + }, + { + "lpbca": 7, + "branch": 11, + "class": 2, + "linearIndex": 1454, + "address": "0xa91Ac47615C75B808B07432434e54E752C58305F", + "cellId": "EI-L07-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B11-C2" + }, + { + "lpbca": 7, + "branch": 11, + "class": 3, + "linearIndex": 1455, + "address": "0xC9d369afF54cD4C7447f899786b6a0FA4efA2dBB", + "cellId": "EI-L07-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B11-C3" + }, + { + "lpbca": 7, + "branch": 11, + "class": 4, + "linearIndex": 1456, + "address": "0xA7C45CC924B6dE320f13dCF7071433104c9e386f", + "cellId": "EI-L07-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B11-C4" + }, + { + "lpbca": 7, + "branch": 11, + "class": 5, + "linearIndex": 1457, + "address": "0x25F2b8e46b5b8a14b1D1529FF0468eC71eF9be43", + "cellId": "EI-L07-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B11-C5" + }, + { + "lpbca": 7, + "branch": 12, + "class": 0, + "linearIndex": 1458, + "address": "0x73B98b31013892e87311F8A2c15e5F8731703a85", + "cellId": "EI-L07-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B12-C0" + }, + { + "lpbca": 7, + "branch": 12, + "class": 1, + "linearIndex": 1459, + "address": "0x247CefDF9B60E5b863342546a60b876aa673FD17", + "cellId": "EI-L07-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B12-C1" + }, + { + "lpbca": 7, + "branch": 12, + "class": 2, + "linearIndex": 1460, + "address": "0x1D8FEe4B2A166f5aaD773cdAF2a44036991B0340", + "cellId": "EI-L07-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B12-C2" + }, + { + "lpbca": 7, + "branch": 12, + "class": 3, + "linearIndex": 1461, + "address": "0x1D07d1EA70DD52Ad2199B093C2BD402dB99A1694", + "cellId": "EI-L07-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B12-C3" + }, + { + "lpbca": 7, + "branch": 12, + "class": 4, + "linearIndex": 1462, + "address": "0xD794f0174ff39152159bf926422ba283bd173D39", + "cellId": "EI-L07-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B12-C4" + }, + { + "lpbca": 7, + "branch": 12, + "class": 5, + "linearIndex": 1463, + "address": "0xC1d041F37420aC5067d19c7A2ae64c70DCa4d6a7", + "cellId": "EI-L07-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B12-C5" + }, + { + "lpbca": 7, + "branch": 13, + "class": 0, + "linearIndex": 1464, + "address": "0x3ca9B2c5d891A913db9D58AB3709B7C153C5E069", + "cellId": "EI-L07-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B13-C0" + }, + { + "lpbca": 7, + "branch": 13, + "class": 1, + "linearIndex": 1465, + "address": "0x4842746557FfDFe5c59c4e5144F6772F5a57E1f7", + "cellId": "EI-L07-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B13-C1" + }, + { + "lpbca": 7, + "branch": 13, + "class": 2, + "linearIndex": 1466, + "address": "0xfaA3ab7A098e80BBB6Bc08E09Ff6321eE442A19D", + "cellId": "EI-L07-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B13-C2" + }, + { + "lpbca": 7, + "branch": 13, + "class": 3, + "linearIndex": 1467, + "address": "0xe992FEd9Bf211a6072962a4DF0C1988f05617f00", + "cellId": "EI-L07-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B13-C3" + }, + { + "lpbca": 7, + "branch": 13, + "class": 4, + "linearIndex": 1468, + "address": "0x1912B837ABc249d3a019bCb99897344eb2Ee5Be3", + "cellId": "EI-L07-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B13-C4" + }, + { + "lpbca": 7, + "branch": 13, + "class": 5, + "linearIndex": 1469, + "address": "0x3042Ed9fb00526fb85295a51f6EF32270D2317e9", + "cellId": "EI-L07-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B13-C5" + }, + { + "lpbca": 7, + "branch": 14, + "class": 0, + "linearIndex": 1470, + "address": "0x3C4f04f984De36bc75723Dc84183176E4940AB69", + "cellId": "EI-L07-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B14-C0" + }, + { + "lpbca": 7, + "branch": 14, + "class": 1, + "linearIndex": 1471, + "address": "0x5b62ECe8534d8c42A0e13CF02c8d4beBdf875C5d", + "cellId": "EI-L07-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B14-C1" + }, + { + "lpbca": 7, + "branch": 14, + "class": 2, + "linearIndex": 1472, + "address": "0x2e64A17AAf4Ce3Ef62Bb124CdD2EC986F3fE1C7f", + "cellId": "EI-L07-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B14-C2" + }, + { + "lpbca": 7, + "branch": 14, + "class": 3, + "linearIndex": 1473, + "address": "0x4d5F41A6e7a74213Dcdb92643ea9c02ECE02c9D1", + "cellId": "EI-L07-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B14-C3" + }, + { + "lpbca": 7, + "branch": 14, + "class": 4, + "linearIndex": 1474, + "address": "0xFD0d64c3B266D8f8CcF356b54F4848da1345d831", + "cellId": "EI-L07-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B14-C4" + }, + { + "lpbca": 7, + "branch": 14, + "class": 5, + "linearIndex": 1475, + "address": "0x7cE3693c94039755a4C6aA684cd1777af3aD1C3c", + "cellId": "EI-L07-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B14-C5" + }, + { + "lpbca": 7, + "branch": 15, + "class": 0, + "linearIndex": 1476, + "address": "0xCB5b520B6497bc9a3c7697f12B7a924D4802382f", + "cellId": "EI-L07-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B15-C0" + }, + { + "lpbca": 7, + "branch": 15, + "class": 1, + "linearIndex": 1477, + "address": "0xCb75E714A0fDE9ad1ab293939F6a5d1a7A97Dff3", + "cellId": "EI-L07-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B15-C1" + }, + { + "lpbca": 7, + "branch": 15, + "class": 2, + "linearIndex": 1478, + "address": "0x29e69247d113b2a37710320A037b74dE466D036c", + "cellId": "EI-L07-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B15-C2" + }, + { + "lpbca": 7, + "branch": 15, + "class": 3, + "linearIndex": 1479, + "address": "0xA7fa0E9914d04651580cf79483756aEb1dCB030c", + "cellId": "EI-L07-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B15-C3" + }, + { + "lpbca": 7, + "branch": 15, + "class": 4, + "linearIndex": 1480, + "address": "0xC65f521EabeF393ac6aA1dFf8C2751f80399f8Ba", + "cellId": "EI-L07-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B15-C4" + }, + { + "lpbca": 7, + "branch": 15, + "class": 5, + "linearIndex": 1481, + "address": "0xaF83b4BDA16ACb8b033b2891D4e040c92853C712", + "cellId": "EI-L07-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B15-C5" + }, + { + "lpbca": 7, + "branch": 16, + "class": 0, + "linearIndex": 1482, + "address": "0x1560C09E5502331e8b36188ed1E78Fe0ed7B5C81", + "cellId": "EI-L07-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B16-C0" + }, + { + "lpbca": 7, + "branch": 16, + "class": 1, + "linearIndex": 1483, + "address": "0xBf9b3933A8C6A84aeF2568A56583143f4954e35E", + "cellId": "EI-L07-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B16-C1" + }, + { + "lpbca": 7, + "branch": 16, + "class": 2, + "linearIndex": 1484, + "address": "0xD1683a39b4CeA0bfa293D12267B106dc9BAbF360", + "cellId": "EI-L07-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B16-C2" + }, + { + "lpbca": 7, + "branch": 16, + "class": 3, + "linearIndex": 1485, + "address": "0x99C74c38b8604503acD8E289e4bcff4Aa73EdE95", + "cellId": "EI-L07-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B16-C3" + }, + { + "lpbca": 7, + "branch": 16, + "class": 4, + "linearIndex": 1486, + "address": "0x6b8ba31378e8fa1e94Cd47e8b715BF1Ab0699246", + "cellId": "EI-L07-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B16-C4" + }, + { + "lpbca": 7, + "branch": 16, + "class": 5, + "linearIndex": 1487, + "address": "0x65857808c6df23f9FFB67b30fC1CbD5Dfa896Fda", + "cellId": "EI-L07-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B16-C5" + }, + { + "lpbca": 7, + "branch": 17, + "class": 0, + "linearIndex": 1488, + "address": "0x0e0b598e89E681eB4c0Bf26b07F0aEC16d454E35", + "cellId": "EI-L07-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B17-C0" + }, + { + "lpbca": 7, + "branch": 17, + "class": 1, + "linearIndex": 1489, + "address": "0x106F02E185e6120d1e37E615908A4515B058377d", + "cellId": "EI-L07-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B17-C1" + }, + { + "lpbca": 7, + "branch": 17, + "class": 2, + "linearIndex": 1490, + "address": "0x643B405B45C8bd1a2431cc0eD224B703feE5B5Df", + "cellId": "EI-L07-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B17-C2" + }, + { + "lpbca": 7, + "branch": 17, + "class": 3, + "linearIndex": 1491, + "address": "0x9573304110DaeEBF193E7045c772bafB2ceB61D2", + "cellId": "EI-L07-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B17-C3" + }, + { + "lpbca": 7, + "branch": 17, + "class": 4, + "linearIndex": 1492, + "address": "0x650C02D69b3b732641F3d9434F58A91E47fA5a94", + "cellId": "EI-L07-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B17-C4" + }, + { + "lpbca": 7, + "branch": 17, + "class": 5, + "linearIndex": 1493, + "address": "0x4b553e7b471cf9F035331eE5935D4f7c954D5716", + "cellId": "EI-L07-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B17-C5" + }, + { + "lpbca": 7, + "branch": 18, + "class": 0, + "linearIndex": 1494, + "address": "0x74D76FA0293FD2BdC87846308Bc55680DDF7875A", + "cellId": "EI-L07-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B18-C0" + }, + { + "lpbca": 7, + "branch": 18, + "class": 1, + "linearIndex": 1495, + "address": "0xf0393BD35cf17505D21A81A855553cc7c0584Ea3", + "cellId": "EI-L07-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B18-C1" + }, + { + "lpbca": 7, + "branch": 18, + "class": 2, + "linearIndex": 1496, + "address": "0x129B52261595A2f7F7A59D0D2f900AA182828908", + "cellId": "EI-L07-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B18-C2" + }, + { + "lpbca": 7, + "branch": 18, + "class": 3, + "linearIndex": 1497, + "address": "0x0A3b59c09dE1C3E22187746D873bF8AFc65E932F", + "cellId": "EI-L07-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B18-C3" + }, + { + "lpbca": 7, + "branch": 18, + "class": 4, + "linearIndex": 1498, + "address": "0x18d7321cF69179aB6B7ac72081aaA8012D833768", + "cellId": "EI-L07-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B18-C4" + }, + { + "lpbca": 7, + "branch": 18, + "class": 5, + "linearIndex": 1499, + "address": "0xDCBc3Db6685fEcF1b393eB67De98F7c0126506df", + "cellId": "EI-L07-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B18-C5" + }, + { + "lpbca": 7, + "branch": 19, + "class": 0, + "linearIndex": 1500, + "address": "0x57818b4AF8defFf3470Fedb07CF065C693593E08", + "cellId": "EI-L07-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B19-C0" + }, + { + "lpbca": 7, + "branch": 19, + "class": 1, + "linearIndex": 1501, + "address": "0xAAF6CEaaBf760afB2D98421036bCcF4937a506B0", + "cellId": "EI-L07-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B19-C1" + }, + { + "lpbca": 7, + "branch": 19, + "class": 2, + "linearIndex": 1502, + "address": "0x2299D758A6aC6d7357C91B1a5E0E7FC3f0Ef6E3b", + "cellId": "EI-L07-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B19-C2" + }, + { + "lpbca": 7, + "branch": 19, + "class": 3, + "linearIndex": 1503, + "address": "0x59C619F27617c1A387774457a5bafFEe870811bB", + "cellId": "EI-L07-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B19-C3" + }, + { + "lpbca": 7, + "branch": 19, + "class": 4, + "linearIndex": 1504, + "address": "0xfC304604C848cF911702e9cdbd16d60F8e4e9A02", + "cellId": "EI-L07-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B19-C4" + }, + { + "lpbca": 7, + "branch": 19, + "class": 5, + "linearIndex": 1505, + "address": "0x17f828F3d87797cea95f9462c30cd748659d01B6", + "cellId": "EI-L07-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B19-C5" + }, + { + "lpbca": 7, + "branch": 20, + "class": 0, + "linearIndex": 1506, + "address": "0x3c9d4fa7Af7ea97A6A1aE577d2904a502bA878A9", + "cellId": "EI-L07-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B20-C0" + }, + { + "lpbca": 7, + "branch": 20, + "class": 1, + "linearIndex": 1507, + "address": "0xc00Ff5761C0386147CA451AE893B2f61E67C67f2", + "cellId": "EI-L07-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B20-C1" + }, + { + "lpbca": 7, + "branch": 20, + "class": 2, + "linearIndex": 1508, + "address": "0xF703560541b0c70137927B791d6b659799617EE4", + "cellId": "EI-L07-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B20-C2" + }, + { + "lpbca": 7, + "branch": 20, + "class": 3, + "linearIndex": 1509, + "address": "0xa9D59Ca69C2e3FC73f1e5189991010f9C1d8D53a", + "cellId": "EI-L07-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B20-C3" + }, + { + "lpbca": 7, + "branch": 20, + "class": 4, + "linearIndex": 1510, + "address": "0xEE6c0A12eE86cf65622539E2BE87D1914CdB1573", + "cellId": "EI-L07-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B20-C4" + }, + { + "lpbca": 7, + "branch": 20, + "class": 5, + "linearIndex": 1511, + "address": "0xc97283F090017525a0834C300Ec9a55586160F0b", + "cellId": "EI-L07-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B20-C5" + }, + { + "lpbca": 7, + "branch": 21, + "class": 0, + "linearIndex": 1512, + "address": "0x5cC737A454D36CB29A09A1477b8527FFF410fa7a", + "cellId": "EI-L07-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B21-C0" + }, + { + "lpbca": 7, + "branch": 21, + "class": 1, + "linearIndex": 1513, + "address": "0x2dCC6985b96bCcF4B60228C7E4E12495f0431bF0", + "cellId": "EI-L07-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B21-C1" + }, + { + "lpbca": 7, + "branch": 21, + "class": 2, + "linearIndex": 1514, + "address": "0x146f20D5829C8c704E52FFB9BCE1A8e5c0cf508C", + "cellId": "EI-L07-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B21-C2" + }, + { + "lpbca": 7, + "branch": 21, + "class": 3, + "linearIndex": 1515, + "address": "0xF69E13fAEe85a0D9c21fA7Af5eA0cc82df2C6764", + "cellId": "EI-L07-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B21-C3" + }, + { + "lpbca": 7, + "branch": 21, + "class": 4, + "linearIndex": 1516, + "address": "0x5C7838f0Bb0D803D298B5Ba5f47fc25a509034DF", + "cellId": "EI-L07-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B21-C4" + }, + { + "lpbca": 7, + "branch": 21, + "class": 5, + "linearIndex": 1517, + "address": "0xdf6640cF20BAad2b0979b141d4eAFe9Fb21a5F58", + "cellId": "EI-L07-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B21-C5" + }, + { + "lpbca": 7, + "branch": 22, + "class": 0, + "linearIndex": 1518, + "address": "0xc0Ff963FeB1dF595Dd702a257Bfb355fc832Bc25", + "cellId": "EI-L07-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B22-C0" + }, + { + "lpbca": 7, + "branch": 22, + "class": 1, + "linearIndex": 1519, + "address": "0xD9fa7047c63C9495d133383D81BB84A9cEd9a1fa", + "cellId": "EI-L07-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B22-C1" + }, + { + "lpbca": 7, + "branch": 22, + "class": 2, + "linearIndex": 1520, + "address": "0x8881bCd6d73e3f196eef65A506B7Db24f38e9c5c", + "cellId": "EI-L07-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B22-C2" + }, + { + "lpbca": 7, + "branch": 22, + "class": 3, + "linearIndex": 1521, + "address": "0xC6aC5455aB5E6FdfBedADc6a758C77c5cfb92783", + "cellId": "EI-L07-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B22-C3" + }, + { + "lpbca": 7, + "branch": 22, + "class": 4, + "linearIndex": 1522, + "address": "0xc6Bc1400278ffCabfA784F6C64005F8730448238", + "cellId": "EI-L07-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B22-C4" + }, + { + "lpbca": 7, + "branch": 22, + "class": 5, + "linearIndex": 1523, + "address": "0x06Edc06e792b147aD09AD8DCAffDf70e720a387A", + "cellId": "EI-L07-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B22-C5" + }, + { + "lpbca": 7, + "branch": 23, + "class": 0, + "linearIndex": 1524, + "address": "0x4b95372336d5d86288eb837f4AFe1DB5cE548c93", + "cellId": "EI-L07-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B23-C0" + }, + { + "lpbca": 7, + "branch": 23, + "class": 1, + "linearIndex": 1525, + "address": "0xd9B9dEAC9447690cA4dEA022D89a52D28f301589", + "cellId": "EI-L07-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B23-C1" + }, + { + "lpbca": 7, + "branch": 23, + "class": 2, + "linearIndex": 1526, + "address": "0x2307Dc08A8D5b4b1D62797963817828E8fb76621", + "cellId": "EI-L07-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B23-C2" + }, + { + "lpbca": 7, + "branch": 23, + "class": 3, + "linearIndex": 1527, + "address": "0x74555eD00f8c00826086915BaccBbbf5Dc68749b", + "cellId": "EI-L07-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B23-C3" + }, + { + "lpbca": 7, + "branch": 23, + "class": 4, + "linearIndex": 1528, + "address": "0x174eFB556FFa8De4C6A0e2411C74d78B57709164", + "cellId": "EI-L07-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B23-C4" + }, + { + "lpbca": 7, + "branch": 23, + "class": 5, + "linearIndex": 1529, + "address": "0x12e30457ebb4768376c442c2333F8bC8497D682d", + "cellId": "EI-L07-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B23-C5" + }, + { + "lpbca": 7, + "branch": 24, + "class": 0, + "linearIndex": 1530, + "address": "0x793659e65FAFe0f018EF9Ab9fA83442A5cf4B72F", + "cellId": "EI-L07-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B24-C0" + }, + { + "lpbca": 7, + "branch": 24, + "class": 1, + "linearIndex": 1531, + "address": "0x0c4732679DFCCEFe759e6676E36eE732C92f026b", + "cellId": "EI-L07-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B24-C1" + }, + { + "lpbca": 7, + "branch": 24, + "class": 2, + "linearIndex": 1532, + "address": "0xb478468DD9e467C716BD44c4DDff4F8A1C06f619", + "cellId": "EI-L07-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B24-C2" + }, + { + "lpbca": 7, + "branch": 24, + "class": 3, + "linearIndex": 1533, + "address": "0xe052ED4DaAA5bc647B16530036DC0Ac47909B43F", + "cellId": "EI-L07-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B24-C3" + }, + { + "lpbca": 7, + "branch": 24, + "class": 4, + "linearIndex": 1534, + "address": "0x6cB7d0ACA9B00a9d7A00160E8C2EE1381fF48A24", + "cellId": "EI-L07-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B24-C4" + }, + { + "lpbca": 7, + "branch": 24, + "class": 5, + "linearIndex": 1535, + "address": "0xeE4745Aa2DAb7F509fa0B45A1A1a05D1955801db", + "cellId": "EI-L07-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B24-C5" + }, + { + "lpbca": 7, + "branch": 25, + "class": 0, + "linearIndex": 1536, + "address": "0x69FA36e4641b46Be15B2045A7Bc0Cf9B5bf16a18", + "cellId": "EI-L07-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B25-C0" + }, + { + "lpbca": 7, + "branch": 25, + "class": 1, + "linearIndex": 1537, + "address": "0x7bf2b5DcFeDD32C9721c0050Dd44b6b285d42042", + "cellId": "EI-L07-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B25-C1" + }, + { + "lpbca": 7, + "branch": 25, + "class": 2, + "linearIndex": 1538, + "address": "0xD9149dEE803DEdA56E46c87b5d63689847C1a452", + "cellId": "EI-L07-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B25-C2" + }, + { + "lpbca": 7, + "branch": 25, + "class": 3, + "linearIndex": 1539, + "address": "0x6Df34cd194eb9D239258A42314Fd61243eb742E5", + "cellId": "EI-L07-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B25-C3" + }, + { + "lpbca": 7, + "branch": 25, + "class": 4, + "linearIndex": 1540, + "address": "0xC0f5A5E7912831D895BcbFAB22Fb1A00b8D845cE", + "cellId": "EI-L07-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B25-C4" + }, + { + "lpbca": 7, + "branch": 25, + "class": 5, + "linearIndex": 1541, + "address": "0x61508B06Fa8760AF0E11F1A2Dd88Eed95bc0c95f", + "cellId": "EI-L07-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B25-C5" + }, + { + "lpbca": 7, + "branch": 26, + "class": 0, + "linearIndex": 1542, + "address": "0x8F98112c8C4C3C637a7c117E0258ECE86f961d92", + "cellId": "EI-L07-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B26-C0" + }, + { + "lpbca": 7, + "branch": 26, + "class": 1, + "linearIndex": 1543, + "address": "0x9dA8C31413c8DDBfB52B6D2d087dd2624c6FEDc1", + "cellId": "EI-L07-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B26-C1" + }, + { + "lpbca": 7, + "branch": 26, + "class": 2, + "linearIndex": 1544, + "address": "0x467DCc0246475Ec8bF355Ace1466DaC41C51Ec38", + "cellId": "EI-L07-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B26-C2" + }, + { + "lpbca": 7, + "branch": 26, + "class": 3, + "linearIndex": 1545, + "address": "0x0BeC8Be8Ca4B4475856EDb7b9b1c685Af13F72aE", + "cellId": "EI-L07-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B26-C3" + }, + { + "lpbca": 7, + "branch": 26, + "class": 4, + "linearIndex": 1546, + "address": "0x617a2a08Dd8C7d513147b952c92fF1639221289B", + "cellId": "EI-L07-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B26-C4" + }, + { + "lpbca": 7, + "branch": 26, + "class": 5, + "linearIndex": 1547, + "address": "0xCEc05FF865a3E3eDAd4Bd2eec294320ab750b835", + "cellId": "EI-L07-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B26-C5" + }, + { + "lpbca": 7, + "branch": 27, + "class": 0, + "linearIndex": 1548, + "address": "0x5F8D495651E194B80e323bBeAEE3E41b79e89945", + "cellId": "EI-L07-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B27-C0" + }, + { + "lpbca": 7, + "branch": 27, + "class": 1, + "linearIndex": 1549, + "address": "0x360F69D098a7f29c2258ba98C79D9B122b1135c3", + "cellId": "EI-L07-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B27-C1" + }, + { + "lpbca": 7, + "branch": 27, + "class": 2, + "linearIndex": 1550, + "address": "0xEb111bC5C4380C20963Af47e67553C4A8Beb883B", + "cellId": "EI-L07-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B27-C2" + }, + { + "lpbca": 7, + "branch": 27, + "class": 3, + "linearIndex": 1551, + "address": "0xb1f364bd08508685f8d548422d2df66337015c95", + "cellId": "EI-L07-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B27-C3" + }, + { + "lpbca": 7, + "branch": 27, + "class": 4, + "linearIndex": 1552, + "address": "0xF112B0BdCafD67cA51a7EF548Fc6c9151A9C7071", + "cellId": "EI-L07-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B27-C4" + }, + { + "lpbca": 7, + "branch": 27, + "class": 5, + "linearIndex": 1553, + "address": "0xBa79C0E8A9cdA89e446b2AC72c466de0f2dA164e", + "cellId": "EI-L07-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B27-C5" + }, + { + "lpbca": 7, + "branch": 28, + "class": 0, + "linearIndex": 1554, + "address": "0x7d165e815D7267EA3BEb728581a9B435E6874550", + "cellId": "EI-L07-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B28-C0" + }, + { + "lpbca": 7, + "branch": 28, + "class": 1, + "linearIndex": 1555, + "address": "0x23Fd8451534C1D22B3476fAdA466011dCB0A6217", + "cellId": "EI-L07-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B28-C1" + }, + { + "lpbca": 7, + "branch": 28, + "class": 2, + "linearIndex": 1556, + "address": "0x5e2C0515F32f86C5de7b4F6ad70BbA117Aa48D74", + "cellId": "EI-L07-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B28-C2" + }, + { + "lpbca": 7, + "branch": 28, + "class": 3, + "linearIndex": 1557, + "address": "0x3188E75784D07Ad966253959C01CC2fF53726828", + "cellId": "EI-L07-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B28-C3" + }, + { + "lpbca": 7, + "branch": 28, + "class": 4, + "linearIndex": 1558, + "address": "0xc7BbD687B708F0189D880F0186B83De9Bb6B55BA", + "cellId": "EI-L07-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B28-C4" + }, + { + "lpbca": 7, + "branch": 28, + "class": 5, + "linearIndex": 1559, + "address": "0x08A0857EF42cEff3a926f59CFD4007AC05E8255f", + "cellId": "EI-L07-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B28-C5" + }, + { + "lpbca": 7, + "branch": 29, + "class": 0, + "linearIndex": 1560, + "address": "0x9300FdF2c4ac7730389D9FBECcE3548DC496Ef96", + "cellId": "EI-L07-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B29-C0" + }, + { + "lpbca": 7, + "branch": 29, + "class": 1, + "linearIndex": 1561, + "address": "0xA8D678A1a428D68bA764c7B09f98c90121c65FEB", + "cellId": "EI-L07-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B29-C1" + }, + { + "lpbca": 7, + "branch": 29, + "class": 2, + "linearIndex": 1562, + "address": "0x35E69B015e667919c7CCfEE660EC6e6cc7608e19", + "cellId": "EI-L07-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B29-C2" + }, + { + "lpbca": 7, + "branch": 29, + "class": 3, + "linearIndex": 1563, + "address": "0x2c8bBf7F4931e3dEe0B31a3961e049a3065A11e3", + "cellId": "EI-L07-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B29-C3" + }, + { + "lpbca": 7, + "branch": 29, + "class": 4, + "linearIndex": 1564, + "address": "0xf8203F63f547400499F86665Ff0feD2b4773AD0D", + "cellId": "EI-L07-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B29-C4" + }, + { + "lpbca": 7, + "branch": 29, + "class": 5, + "linearIndex": 1565, + "address": "0x2aBeA548096907C403C4375E82f6FC4A0fA61785", + "cellId": "EI-L07-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B29-C5" + }, + { + "lpbca": 7, + "branch": 30, + "class": 0, + "linearIndex": 1566, + "address": "0xC9D6d21682843faE46a54EAea2812771efB64F46", + "cellId": "EI-L07-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B30-C0" + }, + { + "lpbca": 7, + "branch": 30, + "class": 1, + "linearIndex": 1567, + "address": "0x6168918fF922C9388389CedB24C46896a788694B", + "cellId": "EI-L07-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B30-C1" + }, + { + "lpbca": 7, + "branch": 30, + "class": 2, + "linearIndex": 1568, + "address": "0x6893F472BfB341450A315e8993A2a4aAB87B53A8", + "cellId": "EI-L07-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B30-C2" + }, + { + "lpbca": 7, + "branch": 30, + "class": 3, + "linearIndex": 1569, + "address": "0x9d804c9a5AEE42b643d121e08b608ECa48e735f0", + "cellId": "EI-L07-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B30-C3" + }, + { + "lpbca": 7, + "branch": 30, + "class": 4, + "linearIndex": 1570, + "address": "0xECf65bE141207cC67e3BC0FCdb815dd6dcbDDf85", + "cellId": "EI-L07-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B30-C4" + }, + { + "lpbca": 7, + "branch": 30, + "class": 5, + "linearIndex": 1571, + "address": "0x1D4e51B02eAED87d3d11F5e9c47883F9D8ea82cf", + "cellId": "EI-L07-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B30-C5" + }, + { + "lpbca": 7, + "branch": 31, + "class": 0, + "linearIndex": 1572, + "address": "0x594099CC0b6F0643d67253e4758700c2d823237B", + "cellId": "EI-L07-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B31-C0" + }, + { + "lpbca": 7, + "branch": 31, + "class": 1, + "linearIndex": 1573, + "address": "0x54D31B73ACEe51482C8d5233705be1386ED0c80c", + "cellId": "EI-L07-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B31-C1" + }, + { + "lpbca": 7, + "branch": 31, + "class": 2, + "linearIndex": 1574, + "address": "0xb38ECCc7D187eF420aB7FF7dD53c9cb38FD499E5", + "cellId": "EI-L07-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B31-C2" + }, + { + "lpbca": 7, + "branch": 31, + "class": 3, + "linearIndex": 1575, + "address": "0x10F7a81d6939945B93a6550ee23ca76355Ac45fF", + "cellId": "EI-L07-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B31-C3" + }, + { + "lpbca": 7, + "branch": 31, + "class": 4, + "linearIndex": 1576, + "address": "0x72755a596Aa3Eda64BdB62830dac13ef0d3c7b7b", + "cellId": "EI-L07-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B31-C4" + }, + { + "lpbca": 7, + "branch": 31, + "class": 5, + "linearIndex": 1577, + "address": "0x2CF5547000750D2FD97488885855e0d5ce3e4d78", + "cellId": "EI-L07-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B31-C5" + }, + { + "lpbca": 7, + "branch": 32, + "class": 0, + "linearIndex": 1578, + "address": "0x16fDFf37352BBb7dF55626f9579Fbd08ED3816CA", + "cellId": "EI-L07-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B32-C0" + }, + { + "lpbca": 7, + "branch": 32, + "class": 1, + "linearIndex": 1579, + "address": "0x3ef135f240Cc910c33fEa30C86c4975a8C1FE7aA", + "cellId": "EI-L07-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B32-C1" + }, + { + "lpbca": 7, + "branch": 32, + "class": 2, + "linearIndex": 1580, + "address": "0x2527165596461E0a99e6C552e9fe7c501AF57884", + "cellId": "EI-L07-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B32-C2" + }, + { + "lpbca": 7, + "branch": 32, + "class": 3, + "linearIndex": 1581, + "address": "0x3D908F612c0E41dd81B24eDC0e93Cce9891F3E27", + "cellId": "EI-L07-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B32-C3" + }, + { + "lpbca": 7, + "branch": 32, + "class": 4, + "linearIndex": 1582, + "address": "0xD2047f2C1632127357e72BbC458AB519689A9bD5", + "cellId": "EI-L07-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B32-C4" + }, + { + "lpbca": 7, + "branch": 32, + "class": 5, + "linearIndex": 1583, + "address": "0xbBEce84362951F716F53654655c919D59402ca73", + "cellId": "EI-L07-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L07-B32-C5" + }, + { + "lpbca": 8, + "branch": 0, + "class": 0, + "linearIndex": 1584, + "address": "0x7b484bfa60a66ba09660669592dC0446E91FF466", + "cellId": "EI-L08-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B00-C0" + }, + { + "lpbca": 8, + "branch": 0, + "class": 1, + "linearIndex": 1585, + "address": "0x11388c213c280de90b75C5262Aea315700c97684", + "cellId": "EI-L08-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B00-C1" + }, + { + "lpbca": 8, + "branch": 0, + "class": 2, + "linearIndex": 1586, + "address": "0xd709BC610083f6215ab16E743f4CE6c337fcA1A9", + "cellId": "EI-L08-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B00-C2" + }, + { + "lpbca": 8, + "branch": 0, + "class": 3, + "linearIndex": 1587, + "address": "0xc27a2500c8B1ab2181684c8b9Ef945720A30C1b5", + "cellId": "EI-L08-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B00-C3" + }, + { + "lpbca": 8, + "branch": 0, + "class": 4, + "linearIndex": 1588, + "address": "0xFcCde34c392F2B7Cbf5Fdec98362a9E4c5b60699", + "cellId": "EI-L08-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B00-C4" + }, + { + "lpbca": 8, + "branch": 0, + "class": 5, + "linearIndex": 1589, + "address": "0x8E7fA1Ec9AD59a9e4C4C46FaE30D43d88D97F0FA", + "cellId": "EI-L08-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B00-C5" + }, + { + "lpbca": 8, + "branch": 1, + "class": 0, + "linearIndex": 1590, + "address": "0x1bC1f60515aEce43F83B0761077c8CB1cBdF1aCC", + "cellId": "EI-L08-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B01-C0" + }, + { + "lpbca": 8, + "branch": 1, + "class": 1, + "linearIndex": 1591, + "address": "0x608eBc7f0a97385C624461C0Eb28FE66d53b605F", + "cellId": "EI-L08-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B01-C1" + }, + { + "lpbca": 8, + "branch": 1, + "class": 2, + "linearIndex": 1592, + "address": "0x7243ab06b10CcFD568c448c4Bcc8BDD6A79E08D5", + "cellId": "EI-L08-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B01-C2" + }, + { + "lpbca": 8, + "branch": 1, + "class": 3, + "linearIndex": 1593, + "address": "0xFD61Fd8C52324dd10E1d07E72232258A72D6Ad4C", + "cellId": "EI-L08-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B01-C3" + }, + { + "lpbca": 8, + "branch": 1, + "class": 4, + "linearIndex": 1594, + "address": "0x027653B348B6B103d1556cBca485e6092147D2ec", + "cellId": "EI-L08-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B01-C4" + }, + { + "lpbca": 8, + "branch": 1, + "class": 5, + "linearIndex": 1595, + "address": "0xAfBA3eEcC306DF267423E985651f42E60ce34be5", + "cellId": "EI-L08-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B01-C5" + }, + { + "lpbca": 8, + "branch": 2, + "class": 0, + "linearIndex": 1596, + "address": "0x1e491dB9eFF4756F2E0C72685e5Bd7Ab9896b4a8", + "cellId": "EI-L08-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B02-C0" + }, + { + "lpbca": 8, + "branch": 2, + "class": 1, + "linearIndex": 1597, + "address": "0x9DD7AedCF62B3C5E7f50Bd631b5F9642aa45E0Bd", + "cellId": "EI-L08-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B02-C1" + }, + { + "lpbca": 8, + "branch": 2, + "class": 2, + "linearIndex": 1598, + "address": "0x2157c14233928Ed9dD711da5E69E3240C4639CB8", + "cellId": "EI-L08-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B02-C2" + }, + { + "lpbca": 8, + "branch": 2, + "class": 3, + "linearIndex": 1599, + "address": "0x7032B702895ba885235C859713B9F7a397DC30e5", + "cellId": "EI-L08-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B02-C3" + }, + { + "lpbca": 8, + "branch": 2, + "class": 4, + "linearIndex": 1600, + "address": "0xA6F579d0c436C8CA6c477e3E31D07B10EA84AE46", + "cellId": "EI-L08-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B02-C4" + }, + { + "lpbca": 8, + "branch": 2, + "class": 5, + "linearIndex": 1601, + "address": "0xebc2dEa88c0C2265c47c54005d80E48c5C773666", + "cellId": "EI-L08-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B02-C5" + }, + { + "lpbca": 8, + "branch": 3, + "class": 0, + "linearIndex": 1602, + "address": "0xe28A3b5049334C17B2C5953aBD976251d13a0219", + "cellId": "EI-L08-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B03-C0" + }, + { + "lpbca": 8, + "branch": 3, + "class": 1, + "linearIndex": 1603, + "address": "0xc67f7FEC8876f65d04852f18E1ae02751ca50832", + "cellId": "EI-L08-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B03-C1" + }, + { + "lpbca": 8, + "branch": 3, + "class": 2, + "linearIndex": 1604, + "address": "0xd3FD9DdE99B9e5Ca54Bd6E9ccb1c0b064DBb270d", + "cellId": "EI-L08-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B03-C2" + }, + { + "lpbca": 8, + "branch": 3, + "class": 3, + "linearIndex": 1605, + "address": "0xC667F2cbe08BEa32c0F8D5661Ebe80CD8388Afb6", + "cellId": "EI-L08-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B03-C3" + }, + { + "lpbca": 8, + "branch": 3, + "class": 4, + "linearIndex": 1606, + "address": "0x24AEaaCF512dF663e9c887B9569cd2B0A750aA72", + "cellId": "EI-L08-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B03-C4" + }, + { + "lpbca": 8, + "branch": 3, + "class": 5, + "linearIndex": 1607, + "address": "0xab7f2bc6B5212dC15aF0182fD7DAdC6Efd6EBD6a", + "cellId": "EI-L08-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B03-C5" + }, + { + "lpbca": 8, + "branch": 4, + "class": 0, + "linearIndex": 1608, + "address": "0x0Ae1cD55AC14f322Ad19c520E0De8E7315d21720", + "cellId": "EI-L08-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B04-C0" + }, + { + "lpbca": 8, + "branch": 4, + "class": 1, + "linearIndex": 1609, + "address": "0x6CF6ec990dd022FEeC15445536abd70E2cF2B749", + "cellId": "EI-L08-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B04-C1" + }, + { + "lpbca": 8, + "branch": 4, + "class": 2, + "linearIndex": 1610, + "address": "0x947f981186Edf8A1eA529c04016475190096A337", + "cellId": "EI-L08-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B04-C2" + }, + { + "lpbca": 8, + "branch": 4, + "class": 3, + "linearIndex": 1611, + "address": "0xDDB4C8975f1f49611ccE97E6462C6304E5ab79ed", + "cellId": "EI-L08-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B04-C3" + }, + { + "lpbca": 8, + "branch": 4, + "class": 4, + "linearIndex": 1612, + "address": "0x136f4a17C4F144BCaea0A4d63afA8f0E8B96C95b", + "cellId": "EI-L08-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B04-C4" + }, + { + "lpbca": 8, + "branch": 4, + "class": 5, + "linearIndex": 1613, + "address": "0x53900034Cc400aEFf1DbFBC54F60571CbFb3F241", + "cellId": "EI-L08-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B04-C5" + }, + { + "lpbca": 8, + "branch": 5, + "class": 0, + "linearIndex": 1614, + "address": "0xA6F86D9eC5dE05b8038212C1E44E39027971813E", + "cellId": "EI-L08-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B05-C0" + }, + { + "lpbca": 8, + "branch": 5, + "class": 1, + "linearIndex": 1615, + "address": "0x2bB25bCF7622533fdd49d40957d3301A9494f420", + "cellId": "EI-L08-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B05-C1" + }, + { + "lpbca": 8, + "branch": 5, + "class": 2, + "linearIndex": 1616, + "address": "0x2b0A53716F6f9eeCa4e4e12067e458527E805898", + "cellId": "EI-L08-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B05-C2" + }, + { + "lpbca": 8, + "branch": 5, + "class": 3, + "linearIndex": 1617, + "address": "0x05BcBe41B11D6c0F555311d2f3813d04E6465f69", + "cellId": "EI-L08-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B05-C3" + }, + { + "lpbca": 8, + "branch": 5, + "class": 4, + "linearIndex": 1618, + "address": "0xB2371De611b200025b746e9F0D431d5bFBa44188", + "cellId": "EI-L08-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B05-C4" + }, + { + "lpbca": 8, + "branch": 5, + "class": 5, + "linearIndex": 1619, + "address": "0x13ad303f75E84471A777Da706254A7aDe6574F68", + "cellId": "EI-L08-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B05-C5" + }, + { + "lpbca": 8, + "branch": 6, + "class": 0, + "linearIndex": 1620, + "address": "0xa577496A3c0A2467548A3A7F9EA4b3d4e9CBB389", + "cellId": "EI-L08-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B06-C0" + }, + { + "lpbca": 8, + "branch": 6, + "class": 1, + "linearIndex": 1621, + "address": "0x139f46d4951EfF63003b01B4118460D60bD905cE", + "cellId": "EI-L08-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B06-C1" + }, + { + "lpbca": 8, + "branch": 6, + "class": 2, + "linearIndex": 1622, + "address": "0xeE02D64e9C8e7dEAAd5B5C2f8e580C14ab9b1641", + "cellId": "EI-L08-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B06-C2" + }, + { + "lpbca": 8, + "branch": 6, + "class": 3, + "linearIndex": 1623, + "address": "0x9e75349e3460641D66291fa413D7fc1422dDB744", + "cellId": "EI-L08-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B06-C3" + }, + { + "lpbca": 8, + "branch": 6, + "class": 4, + "linearIndex": 1624, + "address": "0x2B8127c5c4c9F75C573A6040342e8bc28775bb4A", + "cellId": "EI-L08-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B06-C4" + }, + { + "lpbca": 8, + "branch": 6, + "class": 5, + "linearIndex": 1625, + "address": "0xFB1Cb4d44aEd2C44dDE6e3Ca5d8812386912Ea89", + "cellId": "EI-L08-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B06-C5" + }, + { + "lpbca": 8, + "branch": 7, + "class": 0, + "linearIndex": 1626, + "address": "0x45f2aB94b9925dA40D5bfdFA1858AE2508574d4e", + "cellId": "EI-L08-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B07-C0" + }, + { + "lpbca": 8, + "branch": 7, + "class": 1, + "linearIndex": 1627, + "address": "0x5B2b283AE916e18650F9d09bc00C694F934C6ec4", + "cellId": "EI-L08-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B07-C1" + }, + { + "lpbca": 8, + "branch": 7, + "class": 2, + "linearIndex": 1628, + "address": "0xFa35054fe96eE3f9386D64d66eaFdf1b9DD9c6f5", + "cellId": "EI-L08-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B07-C2" + }, + { + "lpbca": 8, + "branch": 7, + "class": 3, + "linearIndex": 1629, + "address": "0xb070eb5E9BF15D3FE8265909A62888654D0629c8", + "cellId": "EI-L08-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B07-C3" + }, + { + "lpbca": 8, + "branch": 7, + "class": 4, + "linearIndex": 1630, + "address": "0xff54487e88aB90A2459854ED285F0f4483F536Bc", + "cellId": "EI-L08-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B07-C4" + }, + { + "lpbca": 8, + "branch": 7, + "class": 5, + "linearIndex": 1631, + "address": "0x4E38E514b52beFcFBf44a871BbB8F522593B9972", + "cellId": "EI-L08-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B07-C5" + }, + { + "lpbca": 8, + "branch": 8, + "class": 0, + "linearIndex": 1632, + "address": "0x0A91c488757FfD917da8310289B3354ED6187621", + "cellId": "EI-L08-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B08-C0" + }, + { + "lpbca": 8, + "branch": 8, + "class": 1, + "linearIndex": 1633, + "address": "0x6ce29f171E6cf36601f41820507567f3843aE65B", + "cellId": "EI-L08-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B08-C1" + }, + { + "lpbca": 8, + "branch": 8, + "class": 2, + "linearIndex": 1634, + "address": "0xa1B6460A534D2d03106ADe98D439eE56549594a0", + "cellId": "EI-L08-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B08-C2" + }, + { + "lpbca": 8, + "branch": 8, + "class": 3, + "linearIndex": 1635, + "address": "0x079f566FD29471737e682D4A51D8d6E293E82340", + "cellId": "EI-L08-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B08-C3" + }, + { + "lpbca": 8, + "branch": 8, + "class": 4, + "linearIndex": 1636, + "address": "0x1F2cB943149333e3cfD0faee925C2c8B1660e455", + "cellId": "EI-L08-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B08-C4" + }, + { + "lpbca": 8, + "branch": 8, + "class": 5, + "linearIndex": 1637, + "address": "0x275b9A33E52ba27682935B8B380CBf5BE81015CE", + "cellId": "EI-L08-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B08-C5" + }, + { + "lpbca": 8, + "branch": 9, + "class": 0, + "linearIndex": 1638, + "address": "0xCBBf6C324B7734246Db45F7f045E1689A1E82664", + "cellId": "EI-L08-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B09-C0" + }, + { + "lpbca": 8, + "branch": 9, + "class": 1, + "linearIndex": 1639, + "address": "0x0Ad36225F14aa6eCb967D4449E64C4be97E3ea73", + "cellId": "EI-L08-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B09-C1" + }, + { + "lpbca": 8, + "branch": 9, + "class": 2, + "linearIndex": 1640, + "address": "0x99081Fbe2a1E3ae071DACcFE03089d43518223Eb", + "cellId": "EI-L08-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B09-C2" + }, + { + "lpbca": 8, + "branch": 9, + "class": 3, + "linearIndex": 1641, + "address": "0xd38bF605A127Dcead86CE5C2a695dbd9Df90055e", + "cellId": "EI-L08-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B09-C3" + }, + { + "lpbca": 8, + "branch": 9, + "class": 4, + "linearIndex": 1642, + "address": "0xCC3Da1Cb04bc894c8a76803625fFec496be89AB9", + "cellId": "EI-L08-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B09-C4" + }, + { + "lpbca": 8, + "branch": 9, + "class": 5, + "linearIndex": 1643, + "address": "0x7C9077CD01C2a46B9d7E6Fea410dBbF6C06Fd5C0", + "cellId": "EI-L08-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B09-C5" + }, + { + "lpbca": 8, + "branch": 10, + "class": 0, + "linearIndex": 1644, + "address": "0x9e48c32BCaFE1A65c1719A6f8E76dC54cb27882e", + "cellId": "EI-L08-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B10-C0" + }, + { + "lpbca": 8, + "branch": 10, + "class": 1, + "linearIndex": 1645, + "address": "0xE609E2f4eC337f8306A43FA3F6E18aB792834347", + "cellId": "EI-L08-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B10-C1" + }, + { + "lpbca": 8, + "branch": 10, + "class": 2, + "linearIndex": 1646, + "address": "0xCe67eA0fd5639c3752CFd76Cf1A96D7A26bF0622", + "cellId": "EI-L08-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B10-C2" + }, + { + "lpbca": 8, + "branch": 10, + "class": 3, + "linearIndex": 1647, + "address": "0xEE2Db69B6b0190327596241F4916aFC73079878d", + "cellId": "EI-L08-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B10-C3" + }, + { + "lpbca": 8, + "branch": 10, + "class": 4, + "linearIndex": 1648, + "address": "0x4cB75967Aa111DfD10b5b8160e13a87f8d01e420", + "cellId": "EI-L08-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B10-C4" + }, + { + "lpbca": 8, + "branch": 10, + "class": 5, + "linearIndex": 1649, + "address": "0x3CF28a5e7eA99Ea30931e1f69Abe6f78868f0D65", + "cellId": "EI-L08-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B10-C5" + }, + { + "lpbca": 8, + "branch": 11, + "class": 0, + "linearIndex": 1650, + "address": "0x34Cfd66860bd9Baf928a76C55Ce9A49607472c8c", + "cellId": "EI-L08-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B11-C0" + }, + { + "lpbca": 8, + "branch": 11, + "class": 1, + "linearIndex": 1651, + "address": "0xcd464451E0C88183032fb59ccec4604d42f6eAC0", + "cellId": "EI-L08-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B11-C1" + }, + { + "lpbca": 8, + "branch": 11, + "class": 2, + "linearIndex": 1652, + "address": "0xB04c51e1091F08B7964e8998afC3AAd25D7fcD2D", + "cellId": "EI-L08-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B11-C2" + }, + { + "lpbca": 8, + "branch": 11, + "class": 3, + "linearIndex": 1653, + "address": "0xfA27a5A48290d4527fB3b80eCA4FDA3adA29FE25", + "cellId": "EI-L08-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B11-C3" + }, + { + "lpbca": 8, + "branch": 11, + "class": 4, + "linearIndex": 1654, + "address": "0xd0260C76C1EF75c89c86F0e66d26B86d772bC855", + "cellId": "EI-L08-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B11-C4" + }, + { + "lpbca": 8, + "branch": 11, + "class": 5, + "linearIndex": 1655, + "address": "0xc839Ab0c8C2b60fE13CBeB51871F8282E006BDbC", + "cellId": "EI-L08-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B11-C5" + }, + { + "lpbca": 8, + "branch": 12, + "class": 0, + "linearIndex": 1656, + "address": "0x5B4efB63071997253b0764F21f633B6ac9307E4a", + "cellId": "EI-L08-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B12-C0" + }, + { + "lpbca": 8, + "branch": 12, + "class": 1, + "linearIndex": 1657, + "address": "0x296Eb699025Ce606e73C563A232D9006Eb1E1c90", + "cellId": "EI-L08-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B12-C1" + }, + { + "lpbca": 8, + "branch": 12, + "class": 2, + "linearIndex": 1658, + "address": "0xcFA994079ccC1e485Dc5393Fd38D04CA27Ec66a5", + "cellId": "EI-L08-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B12-C2" + }, + { + "lpbca": 8, + "branch": 12, + "class": 3, + "linearIndex": 1659, + "address": "0x2987e03144216640e53B751900Bc5dc84a5712C6", + "cellId": "EI-L08-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B12-C3" + }, + { + "lpbca": 8, + "branch": 12, + "class": 4, + "linearIndex": 1660, + "address": "0x87324882A1e5adbeC54641A8dC1f3b3be596fe2e", + "cellId": "EI-L08-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B12-C4" + }, + { + "lpbca": 8, + "branch": 12, + "class": 5, + "linearIndex": 1661, + "address": "0x9538A307734828c080235fBC2Df6675256DfE1EF", + "cellId": "EI-L08-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B12-C5" + }, + { + "lpbca": 8, + "branch": 13, + "class": 0, + "linearIndex": 1662, + "address": "0xB46B70f1117251cfa49d88dAC3063F3831a85Bb6", + "cellId": "EI-L08-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B13-C0" + }, + { + "lpbca": 8, + "branch": 13, + "class": 1, + "linearIndex": 1663, + "address": "0xd7962721E9240B6C9eD52bc68E0D427A70609c4e", + "cellId": "EI-L08-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B13-C1" + }, + { + "lpbca": 8, + "branch": 13, + "class": 2, + "linearIndex": 1664, + "address": "0x198a1E5f1141a62C361C27De741980020effd143", + "cellId": "EI-L08-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B13-C2" + }, + { + "lpbca": 8, + "branch": 13, + "class": 3, + "linearIndex": 1665, + "address": "0x6bca9FdF8167624b41597Da36CD34410774AEAf9", + "cellId": "EI-L08-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B13-C3" + }, + { + "lpbca": 8, + "branch": 13, + "class": 4, + "linearIndex": 1666, + "address": "0xAfEBc4F0b40a9029D4F7f46864FE97332C0ad9f6", + "cellId": "EI-L08-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B13-C4" + }, + { + "lpbca": 8, + "branch": 13, + "class": 5, + "linearIndex": 1667, + "address": "0x3f7812FBCD253a2e20cD972Dc34DcFC4187A5094", + "cellId": "EI-L08-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B13-C5" + }, + { + "lpbca": 8, + "branch": 14, + "class": 0, + "linearIndex": 1668, + "address": "0x156d3D991d32814401b7205004f49ae2e4c92d4f", + "cellId": "EI-L08-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B14-C0" + }, + { + "lpbca": 8, + "branch": 14, + "class": 1, + "linearIndex": 1669, + "address": "0xDaed6BBeB162012109aA403d9AdF45EF3E393485", + "cellId": "EI-L08-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B14-C1" + }, + { + "lpbca": 8, + "branch": 14, + "class": 2, + "linearIndex": 1670, + "address": "0x8357797bDB7cdAEfd04F81f46c04bc2B09130821", + "cellId": "EI-L08-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B14-C2" + }, + { + "lpbca": 8, + "branch": 14, + "class": 3, + "linearIndex": 1671, + "address": "0xD743bb7aF8828DEDC32953609F765A9d052c6074", + "cellId": "EI-L08-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B14-C3" + }, + { + "lpbca": 8, + "branch": 14, + "class": 4, + "linearIndex": 1672, + "address": "0x483556BEf2c7a1d9d27e362Ed3bD0a053e50046f", + "cellId": "EI-L08-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B14-C4" + }, + { + "lpbca": 8, + "branch": 14, + "class": 5, + "linearIndex": 1673, + "address": "0xc2a5F01d22Bcef602d28c1597AEb643d3da200db", + "cellId": "EI-L08-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B14-C5" + }, + { + "lpbca": 8, + "branch": 15, + "class": 0, + "linearIndex": 1674, + "address": "0xb8D7Ae6fe09c9AdB65E9522c3Dd3b7B984157D0d", + "cellId": "EI-L08-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B15-C0" + }, + { + "lpbca": 8, + "branch": 15, + "class": 1, + "linearIndex": 1675, + "address": "0xb75B6A369e675aC98fD51e2759e027D7D4b6C7BC", + "cellId": "EI-L08-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B15-C1" + }, + { + "lpbca": 8, + "branch": 15, + "class": 2, + "linearIndex": 1676, + "address": "0x89cB00b84D671a5d053cac92a8c4Fbb5a5EA0180", + "cellId": "EI-L08-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B15-C2" + }, + { + "lpbca": 8, + "branch": 15, + "class": 3, + "linearIndex": 1677, + "address": "0x158Be73616d7B9441Df5e1a48b0630DaC103Ff43", + "cellId": "EI-L08-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B15-C3" + }, + { + "lpbca": 8, + "branch": 15, + "class": 4, + "linearIndex": 1678, + "address": "0x92b31DC89cE617DE524dbf6A42538713504E8273", + "cellId": "EI-L08-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B15-C4" + }, + { + "lpbca": 8, + "branch": 15, + "class": 5, + "linearIndex": 1679, + "address": "0x697374FF98786a894EC9B9618Ff317509150dCad", + "cellId": "EI-L08-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B15-C5" + }, + { + "lpbca": 8, + "branch": 16, + "class": 0, + "linearIndex": 1680, + "address": "0x00795c0F8D7093B8F203ceE8CBAEa6299106D36E", + "cellId": "EI-L08-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B16-C0" + }, + { + "lpbca": 8, + "branch": 16, + "class": 1, + "linearIndex": 1681, + "address": "0xaf14AE7C0FBD4A9E9972199f84DE664186D0f877", + "cellId": "EI-L08-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B16-C1" + }, + { + "lpbca": 8, + "branch": 16, + "class": 2, + "linearIndex": 1682, + "address": "0x876384F3c6EF2255a435B42ea30883245d780D3b", + "cellId": "EI-L08-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B16-C2" + }, + { + "lpbca": 8, + "branch": 16, + "class": 3, + "linearIndex": 1683, + "address": "0x5347aF5913Ff208e30223Da7686Ee854f093B8Cc", + "cellId": "EI-L08-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B16-C3" + }, + { + "lpbca": 8, + "branch": 16, + "class": 4, + "linearIndex": 1684, + "address": "0xdCb264f7fBCE6B188701195E32e7348986247BFf", + "cellId": "EI-L08-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B16-C4" + }, + { + "lpbca": 8, + "branch": 16, + "class": 5, + "linearIndex": 1685, + "address": "0x0093A77AC148b796Cb621Aa510D2500BDA8F5138", + "cellId": "EI-L08-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B16-C5" + }, + { + "lpbca": 8, + "branch": 17, + "class": 0, + "linearIndex": 1686, + "address": "0xc5Acf6008FC940a14973567B103786A387dD6Cf4", + "cellId": "EI-L08-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B17-C0" + }, + { + "lpbca": 8, + "branch": 17, + "class": 1, + "linearIndex": 1687, + "address": "0x28D5BA6B35EDD6d8C33a56459133c609Ac896f4B", + "cellId": "EI-L08-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B17-C1" + }, + { + "lpbca": 8, + "branch": 17, + "class": 2, + "linearIndex": 1688, + "address": "0x34EB99D52EEF8d065243235c18829e24e0cE65F2", + "cellId": "EI-L08-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B17-C2" + }, + { + "lpbca": 8, + "branch": 17, + "class": 3, + "linearIndex": 1689, + "address": "0x04A2Fb42ad082f52902a315fC69b92f7F75127e1", + "cellId": "EI-L08-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B17-C3" + }, + { + "lpbca": 8, + "branch": 17, + "class": 4, + "linearIndex": 1690, + "address": "0x5FA733AB7CDF2edb96d4EE47515E9fc552E685bd", + "cellId": "EI-L08-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B17-C4" + }, + { + "lpbca": 8, + "branch": 17, + "class": 5, + "linearIndex": 1691, + "address": "0x6BB2078b59971Eed65b2E67Af10cF5f3B7aC243e", + "cellId": "EI-L08-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B17-C5" + }, + { + "lpbca": 8, + "branch": 18, + "class": 0, + "linearIndex": 1692, + "address": "0xdFB04061978cc2F3c95874edaA26812281DE24e6", + "cellId": "EI-L08-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B18-C0" + }, + { + "lpbca": 8, + "branch": 18, + "class": 1, + "linearIndex": 1693, + "address": "0x043bDeD5f2649f103F6201841A2eeDa2976aFF29", + "cellId": "EI-L08-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B18-C1" + }, + { + "lpbca": 8, + "branch": 18, + "class": 2, + "linearIndex": 1694, + "address": "0x985060977ba42d9b6a2FC1a05DD561cB7EcCDbeC", + "cellId": "EI-L08-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B18-C2" + }, + { + "lpbca": 8, + "branch": 18, + "class": 3, + "linearIndex": 1695, + "address": "0x01ECDc921F6242Ac6A041DdD5A6D6a7125B8B220", + "cellId": "EI-L08-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B18-C3" + }, + { + "lpbca": 8, + "branch": 18, + "class": 4, + "linearIndex": 1696, + "address": "0x4a3b1AfDD6752515EF37A26a069b5B83F16681D1", + "cellId": "EI-L08-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B18-C4" + }, + { + "lpbca": 8, + "branch": 18, + "class": 5, + "linearIndex": 1697, + "address": "0xC05bb8F96b6FA9Ff86eb6C4bf383B03Ec78101fb", + "cellId": "EI-L08-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B18-C5" + }, + { + "lpbca": 8, + "branch": 19, + "class": 0, + "linearIndex": 1698, + "address": "0xD643e1851162688DE7B5E6e36F7C4Dd5ccb4Dfe8", + "cellId": "EI-L08-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B19-C0" + }, + { + "lpbca": 8, + "branch": 19, + "class": 1, + "linearIndex": 1699, + "address": "0xda744E146b8f9CaccD17D007C8E559032502F45b", + "cellId": "EI-L08-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B19-C1" + }, + { + "lpbca": 8, + "branch": 19, + "class": 2, + "linearIndex": 1700, + "address": "0xc59EdB9aDF9f40923b8b0139B30F963e9d6752cf", + "cellId": "EI-L08-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B19-C2" + }, + { + "lpbca": 8, + "branch": 19, + "class": 3, + "linearIndex": 1701, + "address": "0x00875553EB170Fa71Ee6f709ad5592DCBbd6061f", + "cellId": "EI-L08-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B19-C3" + }, + { + "lpbca": 8, + "branch": 19, + "class": 4, + "linearIndex": 1702, + "address": "0xbD2ED278D33733827132f00d5c99Bb88241489c5", + "cellId": "EI-L08-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B19-C4" + }, + { + "lpbca": 8, + "branch": 19, + "class": 5, + "linearIndex": 1703, + "address": "0x1b7c6Fa933145513fbeD34A9fD539b3405995c27", + "cellId": "EI-L08-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B19-C5" + }, + { + "lpbca": 8, + "branch": 20, + "class": 0, + "linearIndex": 1704, + "address": "0x2BFb8de196CecB52261ba1077A77b2FAc56abB35", + "cellId": "EI-L08-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B20-C0" + }, + { + "lpbca": 8, + "branch": 20, + "class": 1, + "linearIndex": 1705, + "address": "0x8A781a5085232d70646B25cC267348BC740D2f49", + "cellId": "EI-L08-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B20-C1" + }, + { + "lpbca": 8, + "branch": 20, + "class": 2, + "linearIndex": 1706, + "address": "0x45107a975b85E79fdb2F40812AB633DdeeaD44F2", + "cellId": "EI-L08-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B20-C2" + }, + { + "lpbca": 8, + "branch": 20, + "class": 3, + "linearIndex": 1707, + "address": "0x35F438c50dc4eDae55de13229001F2Fa0a2797FB", + "cellId": "EI-L08-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B20-C3" + }, + { + "lpbca": 8, + "branch": 20, + "class": 4, + "linearIndex": 1708, + "address": "0x133E0BA4cCE2825327c29DE226AD217C3577476B", + "cellId": "EI-L08-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B20-C4" + }, + { + "lpbca": 8, + "branch": 20, + "class": 5, + "linearIndex": 1709, + "address": "0xeF155Ab0D963a6fB497CC5cb8456d789bd264825", + "cellId": "EI-L08-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B20-C5" + }, + { + "lpbca": 8, + "branch": 21, + "class": 0, + "linearIndex": 1710, + "address": "0x27077eE53dF72F17439699344517dF6574De3bAd", + "cellId": "EI-L08-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B21-C0" + }, + { + "lpbca": 8, + "branch": 21, + "class": 1, + "linearIndex": 1711, + "address": "0xb90698A4936b00808e0168ae7Ef4B27CdE4D8E1B", + "cellId": "EI-L08-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B21-C1" + }, + { + "lpbca": 8, + "branch": 21, + "class": 2, + "linearIndex": 1712, + "address": "0xb780a9A4CD32A2167Fcd0565A4FcB77AF6249437", + "cellId": "EI-L08-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B21-C2" + }, + { + "lpbca": 8, + "branch": 21, + "class": 3, + "linearIndex": 1713, + "address": "0x0979616588546eEFFa411F11D9077BF9B82B59F1", + "cellId": "EI-L08-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B21-C3" + }, + { + "lpbca": 8, + "branch": 21, + "class": 4, + "linearIndex": 1714, + "address": "0xA8DA8cc337822c7454fbB96977736631a0dE4501", + "cellId": "EI-L08-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B21-C4" + }, + { + "lpbca": 8, + "branch": 21, + "class": 5, + "linearIndex": 1715, + "address": "0x697EE210A6A07238f9B124D11C747FaFac16ec07", + "cellId": "EI-L08-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B21-C5" + }, + { + "lpbca": 8, + "branch": 22, + "class": 0, + "linearIndex": 1716, + "address": "0xafA18f3778c097745a5d0FB4EBBf79Ca8e70ABbe", + "cellId": "EI-L08-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B22-C0" + }, + { + "lpbca": 8, + "branch": 22, + "class": 1, + "linearIndex": 1717, + "address": "0x5ab1DFF53F64656aC0929c7BD7181f16Fd01e30e", + "cellId": "EI-L08-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B22-C1" + }, + { + "lpbca": 8, + "branch": 22, + "class": 2, + "linearIndex": 1718, + "address": "0x6F13d37849B7529DEAb2c143Ff0023672047EAab", + "cellId": "EI-L08-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B22-C2" + }, + { + "lpbca": 8, + "branch": 22, + "class": 3, + "linearIndex": 1719, + "address": "0x2Dc0fAf1A77FCe1bEEdE1B7D1B698D02C9672b37", + "cellId": "EI-L08-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B22-C3" + }, + { + "lpbca": 8, + "branch": 22, + "class": 4, + "linearIndex": 1720, + "address": "0x29C5bF474986D5737Ad75a9a88c4116284d5dBBf", + "cellId": "EI-L08-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B22-C4" + }, + { + "lpbca": 8, + "branch": 22, + "class": 5, + "linearIndex": 1721, + "address": "0xBd37C8698EEA7Bd75c5C8ccaad22Fe32c3A2a271", + "cellId": "EI-L08-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B22-C5" + }, + { + "lpbca": 8, + "branch": 23, + "class": 0, + "linearIndex": 1722, + "address": "0x0A9b8360a4a5759cb6E3dC722CBA57EBecBAfF4c", + "cellId": "EI-L08-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B23-C0" + }, + { + "lpbca": 8, + "branch": 23, + "class": 1, + "linearIndex": 1723, + "address": "0xa3c418CDFDF42D7c736a114EED7cB4FE1C9e08f5", + "cellId": "EI-L08-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B23-C1" + }, + { + "lpbca": 8, + "branch": 23, + "class": 2, + "linearIndex": 1724, + "address": "0x5E0972df89Ecc65f708e9835ee0148363Ee39b5c", + "cellId": "EI-L08-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B23-C2" + }, + { + "lpbca": 8, + "branch": 23, + "class": 3, + "linearIndex": 1725, + "address": "0x92F22c496eF20D9db14CCba804cE622C74e304AE", + "cellId": "EI-L08-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B23-C3" + }, + { + "lpbca": 8, + "branch": 23, + "class": 4, + "linearIndex": 1726, + "address": "0xC1ceC9C01Ab64245245d86E844f69caa704fA9cd", + "cellId": "EI-L08-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B23-C4" + }, + { + "lpbca": 8, + "branch": 23, + "class": 5, + "linearIndex": 1727, + "address": "0x59F80242a9C4dfb5816248A907EC8586A463eF91", + "cellId": "EI-L08-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B23-C5" + }, + { + "lpbca": 8, + "branch": 24, + "class": 0, + "linearIndex": 1728, + "address": "0x98A8fA3d8CceE5b58C8cfF93347d23a6afB66Fc0", + "cellId": "EI-L08-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B24-C0" + }, + { + "lpbca": 8, + "branch": 24, + "class": 1, + "linearIndex": 1729, + "address": "0x1ED768B19c33879854f49cBAb2FD99eCc4448d2A", + "cellId": "EI-L08-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B24-C1" + }, + { + "lpbca": 8, + "branch": 24, + "class": 2, + "linearIndex": 1730, + "address": "0x20506d0168afaa51E4593e8AB3508e2022AD701f", + "cellId": "EI-L08-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B24-C2" + }, + { + "lpbca": 8, + "branch": 24, + "class": 3, + "linearIndex": 1731, + "address": "0x99ae43688E9dcB0f81bd1aBd4337D1A039DAcb57", + "cellId": "EI-L08-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B24-C3" + }, + { + "lpbca": 8, + "branch": 24, + "class": 4, + "linearIndex": 1732, + "address": "0x08062Db19e5A3512D11DaeAeD61Bd40B2AC4FE58", + "cellId": "EI-L08-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B24-C4" + }, + { + "lpbca": 8, + "branch": 24, + "class": 5, + "linearIndex": 1733, + "address": "0x6e56D11Cc63e2eDd5eAE398800dCeE13a55EF5aA", + "cellId": "EI-L08-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B24-C5" + }, + { + "lpbca": 8, + "branch": 25, + "class": 0, + "linearIndex": 1734, + "address": "0x592bbC1258080fE362AbBAca91B062C2d75bff8a", + "cellId": "EI-L08-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B25-C0" + }, + { + "lpbca": 8, + "branch": 25, + "class": 1, + "linearIndex": 1735, + "address": "0xec2ABcF821A81Cecd338B3AD5c1d4f57d560d7a0", + "cellId": "EI-L08-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B25-C1" + }, + { + "lpbca": 8, + "branch": 25, + "class": 2, + "linearIndex": 1736, + "address": "0x3E7Fe1Ebad2Fcfc67f5e00649f7c5F17526D067a", + "cellId": "EI-L08-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B25-C2" + }, + { + "lpbca": 8, + "branch": 25, + "class": 3, + "linearIndex": 1737, + "address": "0x1E8588289543989B3ED2650E5b570FfEc66A0485", + "cellId": "EI-L08-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B25-C3" + }, + { + "lpbca": 8, + "branch": 25, + "class": 4, + "linearIndex": 1738, + "address": "0xe213ec3f0A1F04f2E2C33CBaFc80e9eB21171E3D", + "cellId": "EI-L08-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B25-C4" + }, + { + "lpbca": 8, + "branch": 25, + "class": 5, + "linearIndex": 1739, + "address": "0x9c92A7783061329082B566Fa5845146eFA62f1ee", + "cellId": "EI-L08-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B25-C5" + }, + { + "lpbca": 8, + "branch": 26, + "class": 0, + "linearIndex": 1740, + "address": "0x5DB49AF9e4E07033b0ac01C7E3751450a43364E8", + "cellId": "EI-L08-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B26-C0" + }, + { + "lpbca": 8, + "branch": 26, + "class": 1, + "linearIndex": 1741, + "address": "0xFe97b89E4177aaf17b9b4bB36Fd655c92f0Bd6D0", + "cellId": "EI-L08-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B26-C1" + }, + { + "lpbca": 8, + "branch": 26, + "class": 2, + "linearIndex": 1742, + "address": "0x0A74A34965c904DbD70E240786C0FE87a34F3123", + "cellId": "EI-L08-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B26-C2" + }, + { + "lpbca": 8, + "branch": 26, + "class": 3, + "linearIndex": 1743, + "address": "0xb07941F89cc44C656f81337bff88bf64B4638aE9", + "cellId": "EI-L08-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B26-C3" + }, + { + "lpbca": 8, + "branch": 26, + "class": 4, + "linearIndex": 1744, + "address": "0xC5262B6E86Eae1e8ee3e09931ddA42Ed122C626C", + "cellId": "EI-L08-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B26-C4" + }, + { + "lpbca": 8, + "branch": 26, + "class": 5, + "linearIndex": 1745, + "address": "0x7cC1E58475147aD386B3Ea22093Ced36d8537b1A", + "cellId": "EI-L08-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B26-C5" + }, + { + "lpbca": 8, + "branch": 27, + "class": 0, + "linearIndex": 1746, + "address": "0xDBaEd00Bac4F2867328040CCA8D3d530Fe9b399f", + "cellId": "EI-L08-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B27-C0" + }, + { + "lpbca": 8, + "branch": 27, + "class": 1, + "linearIndex": 1747, + "address": "0x4e33A1FB06e4d44e4Df6583390D4a5D01FA7B2D9", + "cellId": "EI-L08-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B27-C1" + }, + { + "lpbca": 8, + "branch": 27, + "class": 2, + "linearIndex": 1748, + "address": "0xDb1bFF6E1127b57aD76d3Efd0d0DFE6B98250998", + "cellId": "EI-L08-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B27-C2" + }, + { + "lpbca": 8, + "branch": 27, + "class": 3, + "linearIndex": 1749, + "address": "0x839BcBfc9e088967F7cbBFB402a47b56b652dF35", + "cellId": "EI-L08-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B27-C3" + }, + { + "lpbca": 8, + "branch": 27, + "class": 4, + "linearIndex": 1750, + "address": "0xe8E47908277FDCc923BF48a16C8f41932848B3A9", + "cellId": "EI-L08-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B27-C4" + }, + { + "lpbca": 8, + "branch": 27, + "class": 5, + "linearIndex": 1751, + "address": "0x93894AFc38F85Bf0a3D3692A847eD4C0Ac75eac9", + "cellId": "EI-L08-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B27-C5" + }, + { + "lpbca": 8, + "branch": 28, + "class": 0, + "linearIndex": 1752, + "address": "0x3C7397a290b3ceAE2949Ba4E5074dfaf9B085C74", + "cellId": "EI-L08-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B28-C0" + }, + { + "lpbca": 8, + "branch": 28, + "class": 1, + "linearIndex": 1753, + "address": "0x7b0C0D87571bF261B91A7426BcE5a732C9FF3aA0", + "cellId": "EI-L08-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B28-C1" + }, + { + "lpbca": 8, + "branch": 28, + "class": 2, + "linearIndex": 1754, + "address": "0xD9cc88Ff9A395edCaC2b21a72C84b6561d5ba20f", + "cellId": "EI-L08-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B28-C2" + }, + { + "lpbca": 8, + "branch": 28, + "class": 3, + "linearIndex": 1755, + "address": "0xB7A739f089011C4c7F86B8093Cd0D59F75a2511B", + "cellId": "EI-L08-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B28-C3" + }, + { + "lpbca": 8, + "branch": 28, + "class": 4, + "linearIndex": 1756, + "address": "0xe58D5731401218d0a190BCc7eA06f3E457693f80", + "cellId": "EI-L08-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B28-C4" + }, + { + "lpbca": 8, + "branch": 28, + "class": 5, + "linearIndex": 1757, + "address": "0x9f29DFc8D3064AB4E9C1E33A07d99161db587280", + "cellId": "EI-L08-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B28-C5" + }, + { + "lpbca": 8, + "branch": 29, + "class": 0, + "linearIndex": 1758, + "address": "0x0f39613683014c0802CdfC6EDd95678CfCac9d20", + "cellId": "EI-L08-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B29-C0" + }, + { + "lpbca": 8, + "branch": 29, + "class": 1, + "linearIndex": 1759, + "address": "0x8a0d46002c4Efc22dEcE2D0bC193AD1c9B7D7076", + "cellId": "EI-L08-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B29-C1" + }, + { + "lpbca": 8, + "branch": 29, + "class": 2, + "linearIndex": 1760, + "address": "0xA0a102E1c6d62fd29596A8E316301388fFd08224", + "cellId": "EI-L08-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B29-C2" + }, + { + "lpbca": 8, + "branch": 29, + "class": 3, + "linearIndex": 1761, + "address": "0x2Fe8B5F0A0f1496E3e981efA65319867270996Cc", + "cellId": "EI-L08-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B29-C3" + }, + { + "lpbca": 8, + "branch": 29, + "class": 4, + "linearIndex": 1762, + "address": "0x5C4c1920c538256a41a944cBcFe3bC02c6a07C27", + "cellId": "EI-L08-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B29-C4" + }, + { + "lpbca": 8, + "branch": 29, + "class": 5, + "linearIndex": 1763, + "address": "0x0Bc4d5281FB3d168031482a998A4b2131859a69B", + "cellId": "EI-L08-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B29-C5" + }, + { + "lpbca": 8, + "branch": 30, + "class": 0, + "linearIndex": 1764, + "address": "0x5c112397C12Ba40D7340Ebcb893f4B4e9f59f7FB", + "cellId": "EI-L08-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B30-C0" + }, + { + "lpbca": 8, + "branch": 30, + "class": 1, + "linearIndex": 1765, + "address": "0xD52Ca7aaAb7deAEf2f6394B6C15D3915aA2FB296", + "cellId": "EI-L08-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B30-C1" + }, + { + "lpbca": 8, + "branch": 30, + "class": 2, + "linearIndex": 1766, + "address": "0xbBA3AC884D5Cdc29BdCA8FC988f6D887A46411dF", + "cellId": "EI-L08-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B30-C2" + }, + { + "lpbca": 8, + "branch": 30, + "class": 3, + "linearIndex": 1767, + "address": "0xf9e941B7BDdb0a41CF3aB23C5f8116175D6Afe2c", + "cellId": "EI-L08-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B30-C3" + }, + { + "lpbca": 8, + "branch": 30, + "class": 4, + "linearIndex": 1768, + "address": "0x2763C0d1504F3098100Dd5711266CFA3C9FD6A52", + "cellId": "EI-L08-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B30-C4" + }, + { + "lpbca": 8, + "branch": 30, + "class": 5, + "linearIndex": 1769, + "address": "0x51c3d8E3e5A9E2B48feebA0a26Ea16b2A6799AD4", + "cellId": "EI-L08-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B30-C5" + }, + { + "lpbca": 8, + "branch": 31, + "class": 0, + "linearIndex": 1770, + "address": "0x4bb7876429e1713c73c3D180E891BcfA3e4fF301", + "cellId": "EI-L08-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B31-C0" + }, + { + "lpbca": 8, + "branch": 31, + "class": 1, + "linearIndex": 1771, + "address": "0xc3559d0FB35E60d9c35629547feAb3cAb8667581", + "cellId": "EI-L08-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B31-C1" + }, + { + "lpbca": 8, + "branch": 31, + "class": 2, + "linearIndex": 1772, + "address": "0xdC70E135B5a042433fE038A3024638043821a175", + "cellId": "EI-L08-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B31-C2" + }, + { + "lpbca": 8, + "branch": 31, + "class": 3, + "linearIndex": 1773, + "address": "0x4Ef658AbCc6145DB0919a2b6f797f05B5525b5dE", + "cellId": "EI-L08-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B31-C3" + }, + { + "lpbca": 8, + "branch": 31, + "class": 4, + "linearIndex": 1774, + "address": "0xCa75279d9F40F940078f53a391616D02D819B19E", + "cellId": "EI-L08-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B31-C4" + }, + { + "lpbca": 8, + "branch": 31, + "class": 5, + "linearIndex": 1775, + "address": "0x67EB8EE60A2d937195Ad2E183D2156E7341BDE10", + "cellId": "EI-L08-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B31-C5" + }, + { + "lpbca": 8, + "branch": 32, + "class": 0, + "linearIndex": 1776, + "address": "0xB28dcA22C8DbF1E8e9AeFc1a2cE782F5731724e7", + "cellId": "EI-L08-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B32-C0" + }, + { + "lpbca": 8, + "branch": 32, + "class": 1, + "linearIndex": 1777, + "address": "0x6AdCfb43c01E8a6a8f031DE19D6c1477ba54A775", + "cellId": "EI-L08-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B32-C1" + }, + { + "lpbca": 8, + "branch": 32, + "class": 2, + "linearIndex": 1778, + "address": "0x242c2FC7fc98E1C3A28FdD02988F0019d8732d02", + "cellId": "EI-L08-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B32-C2" + }, + { + "lpbca": 8, + "branch": 32, + "class": 3, + "linearIndex": 1779, + "address": "0x4ce5265F7F418759D21C190A4a2aaCFD22Cd7f82", + "cellId": "EI-L08-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B32-C3" + }, + { + "lpbca": 8, + "branch": 32, + "class": 4, + "linearIndex": 1780, + "address": "0xc5122F36C8fb04D54D9CEA4a08435AA341fAe155", + "cellId": "EI-L08-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B32-C4" + }, + { + "lpbca": 8, + "branch": 32, + "class": 5, + "linearIndex": 1781, + "address": "0xA49b6a49e95bb02ef069A838471F52e503A01ED3", + "cellId": "EI-L08-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L08-B32-C5" + }, + { + "lpbca": 9, + "branch": 0, + "class": 0, + "linearIndex": 1782, + "address": "0x7a256981da315058ac9c9b1e466D4666E49730fD", + "cellId": "EI-L09-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B00-C0" + }, + { + "lpbca": 9, + "branch": 0, + "class": 1, + "linearIndex": 1783, + "address": "0x0c3A21Cb22cEd56A3101d0c0A68cEEA6cd3c87D0", + "cellId": "EI-L09-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B00-C1" + }, + { + "lpbca": 9, + "branch": 0, + "class": 2, + "linearIndex": 1784, + "address": "0xDf70857adabE1E21ECC39043F37BD92B21F5EC6e", + "cellId": "EI-L09-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B00-C2" + }, + { + "lpbca": 9, + "branch": 0, + "class": 3, + "linearIndex": 1785, + "address": "0xdB7428021F2FA97A65517feD02Ed486EA1cD8112", + "cellId": "EI-L09-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B00-C3" + }, + { + "lpbca": 9, + "branch": 0, + "class": 4, + "linearIndex": 1786, + "address": "0xbFE3a3Ed157377b2E4CBFa44611599FA22e430F5", + "cellId": "EI-L09-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B00-C4" + }, + { + "lpbca": 9, + "branch": 0, + "class": 5, + "linearIndex": 1787, + "address": "0x6031863fa6b5C0Edb3dE3565F6c171409254967e", + "cellId": "EI-L09-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B00-C5" + }, + { + "lpbca": 9, + "branch": 1, + "class": 0, + "linearIndex": 1788, + "address": "0xe874B1B01b674e39A00D0113b982D311eD3f3396", + "cellId": "EI-L09-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B01-C0" + }, + { + "lpbca": 9, + "branch": 1, + "class": 1, + "linearIndex": 1789, + "address": "0x3Ddb84768473Fa94fC7127D3E9183D0733F8773E", + "cellId": "EI-L09-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B01-C1" + }, + { + "lpbca": 9, + "branch": 1, + "class": 2, + "linearIndex": 1790, + "address": "0xF540D5230fe964B43A3EE5249180c669b7CB6067", + "cellId": "EI-L09-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B01-C2" + }, + { + "lpbca": 9, + "branch": 1, + "class": 3, + "linearIndex": 1791, + "address": "0xAEf46063Ee9Ea517b6f797c011A0ceAe151CebB1", + "cellId": "EI-L09-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B01-C3" + }, + { + "lpbca": 9, + "branch": 1, + "class": 4, + "linearIndex": 1792, + "address": "0xD7f9fC2C0997C078b6bAd539eAccd2Fd930e361C", + "cellId": "EI-L09-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B01-C4" + }, + { + "lpbca": 9, + "branch": 1, + "class": 5, + "linearIndex": 1793, + "address": "0xf94Ee9b2d0694F026F6337ED4aA36346baEA7996", + "cellId": "EI-L09-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B01-C5" + }, + { + "lpbca": 9, + "branch": 2, + "class": 0, + "linearIndex": 1794, + "address": "0xF6AD57fe5C294326E937b64Cc7E3cDE48F2390f2", + "cellId": "EI-L09-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B02-C0" + }, + { + "lpbca": 9, + "branch": 2, + "class": 1, + "linearIndex": 1795, + "address": "0xcD14627a8e96B119eF639CEF4222CfD05BB3f4D7", + "cellId": "EI-L09-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B02-C1" + }, + { + "lpbca": 9, + "branch": 2, + "class": 2, + "linearIndex": 1796, + "address": "0xcF8765D2caBE5721C3C6a2bF5D15c707C8137C89", + "cellId": "EI-L09-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B02-C2" + }, + { + "lpbca": 9, + "branch": 2, + "class": 3, + "linearIndex": 1797, + "address": "0x9Fed6AaB0E635D6084bf57C822D5e92A7c4A43B8", + "cellId": "EI-L09-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B02-C3" + }, + { + "lpbca": 9, + "branch": 2, + "class": 4, + "linearIndex": 1798, + "address": "0x98396Bce9Bb14e34d9649f3d69E5D234D196e47d", + "cellId": "EI-L09-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B02-C4" + }, + { + "lpbca": 9, + "branch": 2, + "class": 5, + "linearIndex": 1799, + "address": "0x72d6cE011FC41eCa642BB0Bb0258c7C080Ebd0a9", + "cellId": "EI-L09-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B02-C5" + }, + { + "lpbca": 9, + "branch": 3, + "class": 0, + "linearIndex": 1800, + "address": "0x35042861e380A91e296DBd906765abFfF9BC02ec", + "cellId": "EI-L09-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B03-C0" + }, + { + "lpbca": 9, + "branch": 3, + "class": 1, + "linearIndex": 1801, + "address": "0xa3DFbA7F89e28b0f0695f33F2802541549087ec3", + "cellId": "EI-L09-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B03-C1" + }, + { + "lpbca": 9, + "branch": 3, + "class": 2, + "linearIndex": 1802, + "address": "0xD37df75Ed9B3B792226b879b50dE3c40bc2bD7CB", + "cellId": "EI-L09-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B03-C2" + }, + { + "lpbca": 9, + "branch": 3, + "class": 3, + "linearIndex": 1803, + "address": "0x46E0d0Cc57d93678ed658A7a8DF52d8086ac8667", + "cellId": "EI-L09-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B03-C3" + }, + { + "lpbca": 9, + "branch": 3, + "class": 4, + "linearIndex": 1804, + "address": "0x7f4a37101baf547d967b03b0DD4c7bc954230da0", + "cellId": "EI-L09-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B03-C4" + }, + { + "lpbca": 9, + "branch": 3, + "class": 5, + "linearIndex": 1805, + "address": "0xd068A131301763d3079Fb46B075395896C0D231f", + "cellId": "EI-L09-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B03-C5" + }, + { + "lpbca": 9, + "branch": 4, + "class": 0, + "linearIndex": 1806, + "address": "0xE91E0cd9a93fEFE873D97993d1747fb149768923", + "cellId": "EI-L09-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B04-C0" + }, + { + "lpbca": 9, + "branch": 4, + "class": 1, + "linearIndex": 1807, + "address": "0xe1BD1C81409a6Ed5AC16Be0d2e838899021F6034", + "cellId": "EI-L09-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B04-C1" + }, + { + "lpbca": 9, + "branch": 4, + "class": 2, + "linearIndex": 1808, + "address": "0xB45770383d1Ce22e6b15AF3B1Eb67038Cc33d1A2", + "cellId": "EI-L09-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B04-C2" + }, + { + "lpbca": 9, + "branch": 4, + "class": 3, + "linearIndex": 1809, + "address": "0x50F98686CF480B6431a2381035fDaDcE18d58426", + "cellId": "EI-L09-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B04-C3" + }, + { + "lpbca": 9, + "branch": 4, + "class": 4, + "linearIndex": 1810, + "address": "0xC2F5C3039C88AA84289E7F94b60f54BceeFCfCE9", + "cellId": "EI-L09-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B04-C4" + }, + { + "lpbca": 9, + "branch": 4, + "class": 5, + "linearIndex": 1811, + "address": "0xE9fEE4182595ED1Cb45FC6000E4f54B7F183C3A5", + "cellId": "EI-L09-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B04-C5" + }, + { + "lpbca": 9, + "branch": 5, + "class": 0, + "linearIndex": 1812, + "address": "0x201FAaCf448d06FdB7EcC55faC5b03a8D8c0cc1c", + "cellId": "EI-L09-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B05-C0" + }, + { + "lpbca": 9, + "branch": 5, + "class": 1, + "linearIndex": 1813, + "address": "0x56bc736b6d556a4e9341Dd16f667f9960e5312E9", + "cellId": "EI-L09-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B05-C1" + }, + { + "lpbca": 9, + "branch": 5, + "class": 2, + "linearIndex": 1814, + "address": "0xC492A2a1898EB390Ce2878574D42f7F77326418D", + "cellId": "EI-L09-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B05-C2" + }, + { + "lpbca": 9, + "branch": 5, + "class": 3, + "linearIndex": 1815, + "address": "0x7b6e6cA6adcce67ba771C849a1dAF8F0612c61E1", + "cellId": "EI-L09-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B05-C3" + }, + { + "lpbca": 9, + "branch": 5, + "class": 4, + "linearIndex": 1816, + "address": "0xB98AAf89023f77e1D408f1C57A4d5645f026Cb44", + "cellId": "EI-L09-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B05-C4" + }, + { + "lpbca": 9, + "branch": 5, + "class": 5, + "linearIndex": 1817, + "address": "0x5B188EFa001523ca70996872F4D987d6Ba84e404", + "cellId": "EI-L09-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B05-C5" + }, + { + "lpbca": 9, + "branch": 6, + "class": 0, + "linearIndex": 1818, + "address": "0x4651D6384B2adFe0314FbA885901F2129790D13d", + "cellId": "EI-L09-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B06-C0" + }, + { + "lpbca": 9, + "branch": 6, + "class": 1, + "linearIndex": 1819, + "address": "0xca7D00366AC56b6d6dD20e77Fd52927c45008623", + "cellId": "EI-L09-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B06-C1" + }, + { + "lpbca": 9, + "branch": 6, + "class": 2, + "linearIndex": 1820, + "address": "0xd51613B9F6a15c39093d3480fbac5cd09A5D42Ae", + "cellId": "EI-L09-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B06-C2" + }, + { + "lpbca": 9, + "branch": 6, + "class": 3, + "linearIndex": 1821, + "address": "0xc637573a38A70702bf73BF3BDBDC53F853c50bB2", + "cellId": "EI-L09-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B06-C3" + }, + { + "lpbca": 9, + "branch": 6, + "class": 4, + "linearIndex": 1822, + "address": "0x248C1315D6B78453B4e5E15e101698C47Ef84f33", + "cellId": "EI-L09-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B06-C4" + }, + { + "lpbca": 9, + "branch": 6, + "class": 5, + "linearIndex": 1823, + "address": "0x8101f10DdbD080051FAe96685987AE9967399eA4", + "cellId": "EI-L09-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B06-C5" + }, + { + "lpbca": 9, + "branch": 7, + "class": 0, + "linearIndex": 1824, + "address": "0xe687FD431E28DcDe1d33F117a3e78159907ee9c7", + "cellId": "EI-L09-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B07-C0" + }, + { + "lpbca": 9, + "branch": 7, + "class": 1, + "linearIndex": 1825, + "address": "0xFB444A69Ff32F8C6cf7A68457eBC3FCB6A820820", + "cellId": "EI-L09-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B07-C1" + }, + { + "lpbca": 9, + "branch": 7, + "class": 2, + "linearIndex": 1826, + "address": "0xE46e78fb1F0643FfbE2efCd2E93CE13C113D87B5", + "cellId": "EI-L09-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B07-C2" + }, + { + "lpbca": 9, + "branch": 7, + "class": 3, + "linearIndex": 1827, + "address": "0x9B1a8C37a73e47ff4bC10872F88c79759Bc11C26", + "cellId": "EI-L09-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B07-C3" + }, + { + "lpbca": 9, + "branch": 7, + "class": 4, + "linearIndex": 1828, + "address": "0xE15BD6D8f625EEd86af198322D5e3CFfA5586F06", + "cellId": "EI-L09-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B07-C4" + }, + { + "lpbca": 9, + "branch": 7, + "class": 5, + "linearIndex": 1829, + "address": "0x334a8dCF79027a794B64ef7f3C7B48B065891FA5", + "cellId": "EI-L09-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B07-C5" + }, + { + "lpbca": 9, + "branch": 8, + "class": 0, + "linearIndex": 1830, + "address": "0x2fcDD89782f3c1a1E408Ed389769F10129ed55B8", + "cellId": "EI-L09-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B08-C0" + }, + { + "lpbca": 9, + "branch": 8, + "class": 1, + "linearIndex": 1831, + "address": "0x4C82bcA8b0892b027185749A96Ddd3aA6Fac862E", + "cellId": "EI-L09-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B08-C1" + }, + { + "lpbca": 9, + "branch": 8, + "class": 2, + "linearIndex": 1832, + "address": "0xac7C5F9D2d373ec885Fb526779D4f80DB4Ea8E58", + "cellId": "EI-L09-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B08-C2" + }, + { + "lpbca": 9, + "branch": 8, + "class": 3, + "linearIndex": 1833, + "address": "0xFEb6C33a0CC16c97E100bc6bFF9dF1ab81BFfDd4", + "cellId": "EI-L09-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B08-C3" + }, + { + "lpbca": 9, + "branch": 8, + "class": 4, + "linearIndex": 1834, + "address": "0xf102CFAD2B13F6dF82635A0c637DA15BAfE97e99", + "cellId": "EI-L09-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B08-C4" + }, + { + "lpbca": 9, + "branch": 8, + "class": 5, + "linearIndex": 1835, + "address": "0x2887b8418209e860A221f76B99B4c9F5f1b41321", + "cellId": "EI-L09-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B08-C5" + }, + { + "lpbca": 9, + "branch": 9, + "class": 0, + "linearIndex": 1836, + "address": "0x3A0A361935a8ccCf84cAc6B284eA06a0fc017B59", + "cellId": "EI-L09-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B09-C0" + }, + { + "lpbca": 9, + "branch": 9, + "class": 1, + "linearIndex": 1837, + "address": "0x7930c6E70D96da340F1B7974f00D629923664AB3", + "cellId": "EI-L09-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B09-C1" + }, + { + "lpbca": 9, + "branch": 9, + "class": 2, + "linearIndex": 1838, + "address": "0xB1ee6635Ff9FbD411527b97cf4DBCbba5d2ef84d", + "cellId": "EI-L09-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B09-C2" + }, + { + "lpbca": 9, + "branch": 9, + "class": 3, + "linearIndex": 1839, + "address": "0xed134E2fbc29CB1D3BC16Cee9aF81dF8Ac617063", + "cellId": "EI-L09-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B09-C3" + }, + { + "lpbca": 9, + "branch": 9, + "class": 4, + "linearIndex": 1840, + "address": "0xA3fB670280EB5aa1425da782926e5E46805e74C3", + "cellId": "EI-L09-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B09-C4" + }, + { + "lpbca": 9, + "branch": 9, + "class": 5, + "linearIndex": 1841, + "address": "0xf8868e647857DDF6DC403219eedad4B4176f6621", + "cellId": "EI-L09-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B09-C5" + }, + { + "lpbca": 9, + "branch": 10, + "class": 0, + "linearIndex": 1842, + "address": "0x2D2282F091f7aC501def5774323A2C9636E0D281", + "cellId": "EI-L09-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B10-C0" + }, + { + "lpbca": 9, + "branch": 10, + "class": 1, + "linearIndex": 1843, + "address": "0x563B231BD09CF3f11C2726360f210AbF26E6EB75", + "cellId": "EI-L09-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B10-C1" + }, + { + "lpbca": 9, + "branch": 10, + "class": 2, + "linearIndex": 1844, + "address": "0x5F50899E02fe191569428c9a8C9c0C6A9E9c8491", + "cellId": "EI-L09-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B10-C2" + }, + { + "lpbca": 9, + "branch": 10, + "class": 3, + "linearIndex": 1845, + "address": "0xD3163d8A4Bbeeb50729E92B2475878FE05F8Bf7E", + "cellId": "EI-L09-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B10-C3" + }, + { + "lpbca": 9, + "branch": 10, + "class": 4, + "linearIndex": 1846, + "address": "0xED9073f14a4E4B744cbc95B40CeEF4e842D2e6e2", + "cellId": "EI-L09-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B10-C4" + }, + { + "lpbca": 9, + "branch": 10, + "class": 5, + "linearIndex": 1847, + "address": "0x7edd850c5857DE476a723A5e117321B37d9b4b27", + "cellId": "EI-L09-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B10-C5" + }, + { + "lpbca": 9, + "branch": 11, + "class": 0, + "linearIndex": 1848, + "address": "0x0dfc60640Ff39e57bAEd7b291d391A2634A7e868", + "cellId": "EI-L09-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B11-C0" + }, + { + "lpbca": 9, + "branch": 11, + "class": 1, + "linearIndex": 1849, + "address": "0xb7296D5913f7C75868FEBcC0A81331ab279b5D4a", + "cellId": "EI-L09-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B11-C1" + }, + { + "lpbca": 9, + "branch": 11, + "class": 2, + "linearIndex": 1850, + "address": "0xBc789c11c5B49176f0e10E9E6990A50818BF0fcb", + "cellId": "EI-L09-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B11-C2" + }, + { + "lpbca": 9, + "branch": 11, + "class": 3, + "linearIndex": 1851, + "address": "0x8aCa1124acc3CFc368cb71D03B255CEA8b11fBEc", + "cellId": "EI-L09-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B11-C3" + }, + { + "lpbca": 9, + "branch": 11, + "class": 4, + "linearIndex": 1852, + "address": "0x1496cE0f8d6F799e6b9A20740958418D43B08506", + "cellId": "EI-L09-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B11-C4" + }, + { + "lpbca": 9, + "branch": 11, + "class": 5, + "linearIndex": 1853, + "address": "0x3DBbbA7a468c5DA3871e8Bfc62464a44f116EeC0", + "cellId": "EI-L09-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B11-C5" + }, + { + "lpbca": 9, + "branch": 12, + "class": 0, + "linearIndex": 1854, + "address": "0xDd76597FB7D8999D838fEB704bd797D308fBB042", + "cellId": "EI-L09-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B12-C0" + }, + { + "lpbca": 9, + "branch": 12, + "class": 1, + "linearIndex": 1855, + "address": "0xDf0823207e775aAdD6545B071BdC7EF462a84a96", + "cellId": "EI-L09-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B12-C1" + }, + { + "lpbca": 9, + "branch": 12, + "class": 2, + "linearIndex": 1856, + "address": "0xeFf072f6312D195d9e80fe27F930fBb983db7719", + "cellId": "EI-L09-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B12-C2" + }, + { + "lpbca": 9, + "branch": 12, + "class": 3, + "linearIndex": 1857, + "address": "0xf2c1e6cE27ea56A65C7d8bE63C5b784CDf541B13", + "cellId": "EI-L09-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B12-C3" + }, + { + "lpbca": 9, + "branch": 12, + "class": 4, + "linearIndex": 1858, + "address": "0x78237dCD312220A0d1d2b9f0C71962645385862f", + "cellId": "EI-L09-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B12-C4" + }, + { + "lpbca": 9, + "branch": 12, + "class": 5, + "linearIndex": 1859, + "address": "0x943F1b61fEFF40163D6A102B55492C3DAbe4B633", + "cellId": "EI-L09-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B12-C5" + }, + { + "lpbca": 9, + "branch": 13, + "class": 0, + "linearIndex": 1860, + "address": "0x52A9107e84D43764af126D0944c622CACeC7c948", + "cellId": "EI-L09-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B13-C0" + }, + { + "lpbca": 9, + "branch": 13, + "class": 1, + "linearIndex": 1861, + "address": "0xd881E96C857B6B0c0D11957C2db3A9b8CbC52f22", + "cellId": "EI-L09-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B13-C1" + }, + { + "lpbca": 9, + "branch": 13, + "class": 2, + "linearIndex": 1862, + "address": "0x5E5172B91e78518472fF4026bd081126C4015023", + "cellId": "EI-L09-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B13-C2" + }, + { + "lpbca": 9, + "branch": 13, + "class": 3, + "linearIndex": 1863, + "address": "0x9a2710aC8Db55ABB6fB32A2eaD75f1404e3d2252", + "cellId": "EI-L09-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B13-C3" + }, + { + "lpbca": 9, + "branch": 13, + "class": 4, + "linearIndex": 1864, + "address": "0xd8887d37fBC9832fc16C31F9E5fE855E80820Ce6", + "cellId": "EI-L09-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B13-C4" + }, + { + "lpbca": 9, + "branch": 13, + "class": 5, + "linearIndex": 1865, + "address": "0x7117fc35596237602eAe5bd781d690dB990a7665", + "cellId": "EI-L09-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B13-C5" + }, + { + "lpbca": 9, + "branch": 14, + "class": 0, + "linearIndex": 1866, + "address": "0x3EdB97dFD9Dd0351f2115E9022b16f2472c91636", + "cellId": "EI-L09-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B14-C0" + }, + { + "lpbca": 9, + "branch": 14, + "class": 1, + "linearIndex": 1867, + "address": "0xa339552a57d77aFcA5619cAF0aa582452Be3D9f0", + "cellId": "EI-L09-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B14-C1" + }, + { + "lpbca": 9, + "branch": 14, + "class": 2, + "linearIndex": 1868, + "address": "0xc98d4839105aACFe988235D2C38a57E4C42b31Fa", + "cellId": "EI-L09-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B14-C2" + }, + { + "lpbca": 9, + "branch": 14, + "class": 3, + "linearIndex": 1869, + "address": "0x0B5A38D17947a2b8E4394F86f0f6D95ed130bE6c", + "cellId": "EI-L09-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B14-C3" + }, + { + "lpbca": 9, + "branch": 14, + "class": 4, + "linearIndex": 1870, + "address": "0x2C0f7b9193f44235F8072Ec7c9A787eF1818D11a", + "cellId": "EI-L09-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B14-C4" + }, + { + "lpbca": 9, + "branch": 14, + "class": 5, + "linearIndex": 1871, + "address": "0x9D966f630C869d10ab5d425741bb8675a47feec8", + "cellId": "EI-L09-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B14-C5" + }, + { + "lpbca": 9, + "branch": 15, + "class": 0, + "linearIndex": 1872, + "address": "0x9001f89f0103c9dcDCb0aA0A34C080636aC54C23", + "cellId": "EI-L09-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B15-C0" + }, + { + "lpbca": 9, + "branch": 15, + "class": 1, + "linearIndex": 1873, + "address": "0x49e01EcbEA24e7eedf639ae036dBB0f37Aa67730", + "cellId": "EI-L09-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B15-C1" + }, + { + "lpbca": 9, + "branch": 15, + "class": 2, + "linearIndex": 1874, + "address": "0xa4307c2E2AF97102ce93B3320cd033845E93a409", + "cellId": "EI-L09-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B15-C2" + }, + { + "lpbca": 9, + "branch": 15, + "class": 3, + "linearIndex": 1875, + "address": "0xB10aaafC1a8d7dAAcfac6988d84F4D02114002dD", + "cellId": "EI-L09-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B15-C3" + }, + { + "lpbca": 9, + "branch": 15, + "class": 4, + "linearIndex": 1876, + "address": "0xbad60279ea013C762eF67e85C3465d3BACF283EF", + "cellId": "EI-L09-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B15-C4" + }, + { + "lpbca": 9, + "branch": 15, + "class": 5, + "linearIndex": 1877, + "address": "0x4af7EE8FA61F55F52919AFb6E9F2C4ed4Eb08ee5", + "cellId": "EI-L09-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B15-C5" + }, + { + "lpbca": 9, + "branch": 16, + "class": 0, + "linearIndex": 1878, + "address": "0x2BaC13E52d428C6b671F15198F22D431FcfD07B2", + "cellId": "EI-L09-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B16-C0" + }, + { + "lpbca": 9, + "branch": 16, + "class": 1, + "linearIndex": 1879, + "address": "0x2Eb61c6779BaEe9fc8d7B64883DB83Fb09ae46Be", + "cellId": "EI-L09-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B16-C1" + }, + { + "lpbca": 9, + "branch": 16, + "class": 2, + "linearIndex": 1880, + "address": "0xA24e13edeF9E76747Dcc2b93918405e2e6AB86c1", + "cellId": "EI-L09-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B16-C2" + }, + { + "lpbca": 9, + "branch": 16, + "class": 3, + "linearIndex": 1881, + "address": "0xa3A0b60f4Db37792c15b52822c52F4ED937353Bf", + "cellId": "EI-L09-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B16-C3" + }, + { + "lpbca": 9, + "branch": 16, + "class": 4, + "linearIndex": 1882, + "address": "0x8Aebbe685B9d4942a2508fA5b5eCeF519C4b48C0", + "cellId": "EI-L09-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B16-C4" + }, + { + "lpbca": 9, + "branch": 16, + "class": 5, + "linearIndex": 1883, + "address": "0x5469c62A0d5195De134822044b5AF83bDe6d54F6", + "cellId": "EI-L09-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B16-C5" + }, + { + "lpbca": 9, + "branch": 17, + "class": 0, + "linearIndex": 1884, + "address": "0x36Dbb2A85F0166a86C863Cb742Fe730a3Ea73DB9", + "cellId": "EI-L09-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B17-C0" + }, + { + "lpbca": 9, + "branch": 17, + "class": 1, + "linearIndex": 1885, + "address": "0x5bBa2C176Ecb5597BBE0d005F27FfC547e35739D", + "cellId": "EI-L09-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B17-C1" + }, + { + "lpbca": 9, + "branch": 17, + "class": 2, + "linearIndex": 1886, + "address": "0x08D983fF8756C4dB93f25a4688883C53c53A0A1c", + "cellId": "EI-L09-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B17-C2" + }, + { + "lpbca": 9, + "branch": 17, + "class": 3, + "linearIndex": 1887, + "address": "0x96bD0E38dA6900f2AAEbF93BcB31B7a4e9555aB5", + "cellId": "EI-L09-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B17-C3" + }, + { + "lpbca": 9, + "branch": 17, + "class": 4, + "linearIndex": 1888, + "address": "0x2e28401cA06562a0a2661e46c29E8ED372Db6EC2", + "cellId": "EI-L09-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B17-C4" + }, + { + "lpbca": 9, + "branch": 17, + "class": 5, + "linearIndex": 1889, + "address": "0x955E4Af1497457747b4B845DA5A7e1eC4225f2Dc", + "cellId": "EI-L09-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B17-C5" + }, + { + "lpbca": 9, + "branch": 18, + "class": 0, + "linearIndex": 1890, + "address": "0x20Df43f09443aB538e42D26eA16d95653cAc02BB", + "cellId": "EI-L09-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B18-C0" + }, + { + "lpbca": 9, + "branch": 18, + "class": 1, + "linearIndex": 1891, + "address": "0xcB405b6491E03f883160AF99240D3c43A14Db42A", + "cellId": "EI-L09-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B18-C1" + }, + { + "lpbca": 9, + "branch": 18, + "class": 2, + "linearIndex": 1892, + "address": "0xc9Defc9Ed5867181C40d118F9fE75928101ae87d", + "cellId": "EI-L09-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B18-C2" + }, + { + "lpbca": 9, + "branch": 18, + "class": 3, + "linearIndex": 1893, + "address": "0x1E7448A1390236396DaA8AD44F1b2DB969cEfd6d", + "cellId": "EI-L09-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B18-C3" + }, + { + "lpbca": 9, + "branch": 18, + "class": 4, + "linearIndex": 1894, + "address": "0x1dC39d984F9e520479DE950b6De67fdD634Fc847", + "cellId": "EI-L09-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B18-C4" + }, + { + "lpbca": 9, + "branch": 18, + "class": 5, + "linearIndex": 1895, + "address": "0x944F974931B8B5F697A16b953C5251db2549A1fb", + "cellId": "EI-L09-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B18-C5" + }, + { + "lpbca": 9, + "branch": 19, + "class": 0, + "linearIndex": 1896, + "address": "0xDA6C85B7F29A40346968711275E6bFAee4495017", + "cellId": "EI-L09-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B19-C0" + }, + { + "lpbca": 9, + "branch": 19, + "class": 1, + "linearIndex": 1897, + "address": "0x403163f08b0BB58dCD0d55c0eDB667E27b8103BE", + "cellId": "EI-L09-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B19-C1" + }, + { + "lpbca": 9, + "branch": 19, + "class": 2, + "linearIndex": 1898, + "address": "0xAFE7772533338ADAeeda7F6d35590Ec7f99C2f42", + "cellId": "EI-L09-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B19-C2" + }, + { + "lpbca": 9, + "branch": 19, + "class": 3, + "linearIndex": 1899, + "address": "0xA3Fa760100f95420fd474E8A91B59ca81550d1C2", + "cellId": "EI-L09-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B19-C3" + }, + { + "lpbca": 9, + "branch": 19, + "class": 4, + "linearIndex": 1900, + "address": "0xe67D5dFfa3fe028b6E29dDBA565e9E4415B4dA38", + "cellId": "EI-L09-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B19-C4" + }, + { + "lpbca": 9, + "branch": 19, + "class": 5, + "linearIndex": 1901, + "address": "0x2e8B6Dc51C0b134cb2878D7Be35A5b6b2c18c502", + "cellId": "EI-L09-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B19-C5" + }, + { + "lpbca": 9, + "branch": 20, + "class": 0, + "linearIndex": 1902, + "address": "0xF0D44A9C1cdCd338954FA6817F38c69A1018Da98", + "cellId": "EI-L09-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B20-C0" + }, + { + "lpbca": 9, + "branch": 20, + "class": 1, + "linearIndex": 1903, + "address": "0x7a001f5371A9453C3D8CAe152cEa64A4CF9f63a7", + "cellId": "EI-L09-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B20-C1" + }, + { + "lpbca": 9, + "branch": 20, + "class": 2, + "linearIndex": 1904, + "address": "0xC594d16DD341089feDc1bE3D625271f7f3293B0A", + "cellId": "EI-L09-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B20-C2" + }, + { + "lpbca": 9, + "branch": 20, + "class": 3, + "linearIndex": 1905, + "address": "0xA621DB386dB527DC7CB0192ee2C11fC2a35E7927", + "cellId": "EI-L09-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B20-C3" + }, + { + "lpbca": 9, + "branch": 20, + "class": 4, + "linearIndex": 1906, + "address": "0xeBA3d4caaab1Cb64438CCB78A1BA824E758B43b2", + "cellId": "EI-L09-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B20-C4" + }, + { + "lpbca": 9, + "branch": 20, + "class": 5, + "linearIndex": 1907, + "address": "0x7220A8C3a0425FfbdE59840644108d5A7c4fef7f", + "cellId": "EI-L09-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B20-C5" + }, + { + "lpbca": 9, + "branch": 21, + "class": 0, + "linearIndex": 1908, + "address": "0xfFAF285bF36590Ce725F5764e582cD328D35a0E6", + "cellId": "EI-L09-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B21-C0" + }, + { + "lpbca": 9, + "branch": 21, + "class": 1, + "linearIndex": 1909, + "address": "0x00511F10600a776601BeF082740C398db134D64E", + "cellId": "EI-L09-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B21-C1" + }, + { + "lpbca": 9, + "branch": 21, + "class": 2, + "linearIndex": 1910, + "address": "0x22A7eD6A7DcB5f59362B46993c7B03b32fA8dab8", + "cellId": "EI-L09-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B21-C2" + }, + { + "lpbca": 9, + "branch": 21, + "class": 3, + "linearIndex": 1911, + "address": "0xF98c8Be9b94CE336cc5ed61Bef9a466e13ca0933", + "cellId": "EI-L09-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B21-C3" + }, + { + "lpbca": 9, + "branch": 21, + "class": 4, + "linearIndex": 1912, + "address": "0x9843df527C2eF018380F5b70FC7647998Fc7F059", + "cellId": "EI-L09-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B21-C4" + }, + { + "lpbca": 9, + "branch": 21, + "class": 5, + "linearIndex": 1913, + "address": "0x080EE37c420b9f996F624b499C2A7481141295E3", + "cellId": "EI-L09-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B21-C5" + }, + { + "lpbca": 9, + "branch": 22, + "class": 0, + "linearIndex": 1914, + "address": "0x9d0F682c7f5eccF9266192063Cc2974eaAcca943", + "cellId": "EI-L09-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B22-C0" + }, + { + "lpbca": 9, + "branch": 22, + "class": 1, + "linearIndex": 1915, + "address": "0x23f0855b6c939c3D785d0bD5D94AD2952E03f6D5", + "cellId": "EI-L09-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B22-C1" + }, + { + "lpbca": 9, + "branch": 22, + "class": 2, + "linearIndex": 1916, + "address": "0xe999F08A2A4Ec8222C5827A5Acd852E0c70D14fE", + "cellId": "EI-L09-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B22-C2" + }, + { + "lpbca": 9, + "branch": 22, + "class": 3, + "linearIndex": 1917, + "address": "0xB36a8c37f884caC6974227bC8f68DC749d387C0a", + "cellId": "EI-L09-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B22-C3" + }, + { + "lpbca": 9, + "branch": 22, + "class": 4, + "linearIndex": 1918, + "address": "0x1887437B8CAC95fb4135D1879C760Ac93C4BC579", + "cellId": "EI-L09-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B22-C4" + }, + { + "lpbca": 9, + "branch": 22, + "class": 5, + "linearIndex": 1919, + "address": "0xd352427aA4B569F45a7e4d161b2a0511F23dD9c1", + "cellId": "EI-L09-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B22-C5" + }, + { + "lpbca": 9, + "branch": 23, + "class": 0, + "linearIndex": 1920, + "address": "0x231EeA2a05fDd842f2A20cd749Cc3d3Dc7472A02", + "cellId": "EI-L09-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B23-C0" + }, + { + "lpbca": 9, + "branch": 23, + "class": 1, + "linearIndex": 1921, + "address": "0x17221A0693eCa462ab37C0D81b9A33ee2Cdc4d42", + "cellId": "EI-L09-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B23-C1" + }, + { + "lpbca": 9, + "branch": 23, + "class": 2, + "linearIndex": 1922, + "address": "0x0E26624BB1857702752d1b275a3026d1B5b91326", + "cellId": "EI-L09-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B23-C2" + }, + { + "lpbca": 9, + "branch": 23, + "class": 3, + "linearIndex": 1923, + "address": "0x332f6Fc1433da2D881E1371A483efcfBf5B89ad1", + "cellId": "EI-L09-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B23-C3" + }, + { + "lpbca": 9, + "branch": 23, + "class": 4, + "linearIndex": 1924, + "address": "0x75C8a5dBfb93a7e97430d04F08C49b36C38B4292", + "cellId": "EI-L09-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B23-C4" + }, + { + "lpbca": 9, + "branch": 23, + "class": 5, + "linearIndex": 1925, + "address": "0xF9EdA0EcBA0725A247f9855131a852623FFeb712", + "cellId": "EI-L09-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B23-C5" + }, + { + "lpbca": 9, + "branch": 24, + "class": 0, + "linearIndex": 1926, + "address": "0x900e52a31B59f33aE86682b5D14Aad74A54D9159", + "cellId": "EI-L09-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B24-C0" + }, + { + "lpbca": 9, + "branch": 24, + "class": 1, + "linearIndex": 1927, + "address": "0x9DA2BBE3E246b887d7d2793Eb1De37A0586730c8", + "cellId": "EI-L09-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B24-C1" + }, + { + "lpbca": 9, + "branch": 24, + "class": 2, + "linearIndex": 1928, + "address": "0x92D2A5B0aF5DB7036f28721F5541E30324533BA5", + "cellId": "EI-L09-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B24-C2" + }, + { + "lpbca": 9, + "branch": 24, + "class": 3, + "linearIndex": 1929, + "address": "0x87bC51fC27d5e3CDd8dCBD359A8EDf28710c1ba2", + "cellId": "EI-L09-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B24-C3" + }, + { + "lpbca": 9, + "branch": 24, + "class": 4, + "linearIndex": 1930, + "address": "0x58087607236F7660D27575ae18D221c8Ce03729f", + "cellId": "EI-L09-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B24-C4" + }, + { + "lpbca": 9, + "branch": 24, + "class": 5, + "linearIndex": 1931, + "address": "0x07a09861ee0cd15426A39DCf91efe15714e936De", + "cellId": "EI-L09-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B24-C5" + }, + { + "lpbca": 9, + "branch": 25, + "class": 0, + "linearIndex": 1932, + "address": "0xC6dc63b1D2A7f80615b00e133c4A41e0589E28ae", + "cellId": "EI-L09-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B25-C0" + }, + { + "lpbca": 9, + "branch": 25, + "class": 1, + "linearIndex": 1933, + "address": "0xc758D7bB2755d214C19927e8d21959F1d117ed6c", + "cellId": "EI-L09-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B25-C1" + }, + { + "lpbca": 9, + "branch": 25, + "class": 2, + "linearIndex": 1934, + "address": "0x03B5Ba41ff1B2375237f2b937FB12c2B38a43ea3", + "cellId": "EI-L09-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B25-C2" + }, + { + "lpbca": 9, + "branch": 25, + "class": 3, + "linearIndex": 1935, + "address": "0x2a6eB13588D355C3572a27639c1302d5D599645C", + "cellId": "EI-L09-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B25-C3" + }, + { + "lpbca": 9, + "branch": 25, + "class": 4, + "linearIndex": 1936, + "address": "0x997754A6EB5F449e04f3393ad849B0C86e581B97", + "cellId": "EI-L09-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B25-C4" + }, + { + "lpbca": 9, + "branch": 25, + "class": 5, + "linearIndex": 1937, + "address": "0xBd6DF42bE4dF3779f8066a83b496B9D30b102c67", + "cellId": "EI-L09-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B25-C5" + }, + { + "lpbca": 9, + "branch": 26, + "class": 0, + "linearIndex": 1938, + "address": "0x783703019c217c37d8B2d6100a709e8399823b30", + "cellId": "EI-L09-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B26-C0" + }, + { + "lpbca": 9, + "branch": 26, + "class": 1, + "linearIndex": 1939, + "address": "0x829eC1b24248dB918E2DDf41010910EA688f88E7", + "cellId": "EI-L09-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B26-C1" + }, + { + "lpbca": 9, + "branch": 26, + "class": 2, + "linearIndex": 1940, + "address": "0xe9AF44816a1192E6E1412AFec2E0e69592d84bf8", + "cellId": "EI-L09-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B26-C2" + }, + { + "lpbca": 9, + "branch": 26, + "class": 3, + "linearIndex": 1941, + "address": "0x85475a8d604E94A44d5A4F9BE6a3D4f77ee7E557", + "cellId": "EI-L09-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B26-C3" + }, + { + "lpbca": 9, + "branch": 26, + "class": 4, + "linearIndex": 1942, + "address": "0x4c663e8353fbD6e5Af5496035371d20e46a82073", + "cellId": "EI-L09-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B26-C4" + }, + { + "lpbca": 9, + "branch": 26, + "class": 5, + "linearIndex": 1943, + "address": "0x90f6B03deB50B3c4AEEa3bCA23Ca82d363F69a8c", + "cellId": "EI-L09-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B26-C5" + }, + { + "lpbca": 9, + "branch": 27, + "class": 0, + "linearIndex": 1944, + "address": "0x6e5d988D667f27E5f5CAE6f1c91eBC9d0CB339EC", + "cellId": "EI-L09-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B27-C0" + }, + { + "lpbca": 9, + "branch": 27, + "class": 1, + "linearIndex": 1945, + "address": "0x61Be119c5d49ac2C6580947794379A1Cc1DeEcCE", + "cellId": "EI-L09-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B27-C1" + }, + { + "lpbca": 9, + "branch": 27, + "class": 2, + "linearIndex": 1946, + "address": "0xEF5252000132C9Edc15EaecC33d39eF687b1CDcd", + "cellId": "EI-L09-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B27-C2" + }, + { + "lpbca": 9, + "branch": 27, + "class": 3, + "linearIndex": 1947, + "address": "0x44820e7dd2D2F254971d49A792ECe621299a46c1", + "cellId": "EI-L09-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B27-C3" + }, + { + "lpbca": 9, + "branch": 27, + "class": 4, + "linearIndex": 1948, + "address": "0xFc63f96026ab7f02B170C62e6abcCC45AC3c7164", + "cellId": "EI-L09-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B27-C4" + }, + { + "lpbca": 9, + "branch": 27, + "class": 5, + "linearIndex": 1949, + "address": "0xF55B60711E3fC5423Cc5801C06879472366CDF11", + "cellId": "EI-L09-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B27-C5" + }, + { + "lpbca": 9, + "branch": 28, + "class": 0, + "linearIndex": 1950, + "address": "0x417aA99371E29dB06651D7Eb9137F245e8535C63", + "cellId": "EI-L09-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B28-C0" + }, + { + "lpbca": 9, + "branch": 28, + "class": 1, + "linearIndex": 1951, + "address": "0xB45ada79B8e8809c8D4362c9FCDBEc471EE21408", + "cellId": "EI-L09-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B28-C1" + }, + { + "lpbca": 9, + "branch": 28, + "class": 2, + "linearIndex": 1952, + "address": "0x27053683Be6e554bBDa769C874618445d3c570be", + "cellId": "EI-L09-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B28-C2" + }, + { + "lpbca": 9, + "branch": 28, + "class": 3, + "linearIndex": 1953, + "address": "0xFC19166Ba2555F33De5d8688bB7C577564e55616", + "cellId": "EI-L09-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B28-C3" + }, + { + "lpbca": 9, + "branch": 28, + "class": 4, + "linearIndex": 1954, + "address": "0xbcc11d285eBC53d50075a03fdEc5Bc99e2beE95C", + "cellId": "EI-L09-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B28-C4" + }, + { + "lpbca": 9, + "branch": 28, + "class": 5, + "linearIndex": 1955, + "address": "0x11CBe5Eb7347E4490d09b8F777Be91f178B718f6", + "cellId": "EI-L09-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B28-C5" + }, + { + "lpbca": 9, + "branch": 29, + "class": 0, + "linearIndex": 1956, + "address": "0x16b0BE0CAaE7618bdda3C6564E300c25C5e50F75", + "cellId": "EI-L09-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B29-C0" + }, + { + "lpbca": 9, + "branch": 29, + "class": 1, + "linearIndex": 1957, + "address": "0x2B68a95286DA8143E4be611e92AFD61f2b6d20B9", + "cellId": "EI-L09-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B29-C1" + }, + { + "lpbca": 9, + "branch": 29, + "class": 2, + "linearIndex": 1958, + "address": "0x2dD01CE7861b899B899998B70A428eE42698f8b7", + "cellId": "EI-L09-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B29-C2" + }, + { + "lpbca": 9, + "branch": 29, + "class": 3, + "linearIndex": 1959, + "address": "0x475CaB142b9b2dA4097FBF375E14F011328C0B35", + "cellId": "EI-L09-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B29-C3" + }, + { + "lpbca": 9, + "branch": 29, + "class": 4, + "linearIndex": 1960, + "address": "0x1b25258f05e26743e1ffC5aebdE3cF539C7c1607", + "cellId": "EI-L09-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B29-C4" + }, + { + "lpbca": 9, + "branch": 29, + "class": 5, + "linearIndex": 1961, + "address": "0x4dF7521c392a8E646CF47428afab9b034a222d60", + "cellId": "EI-L09-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B29-C5" + }, + { + "lpbca": 9, + "branch": 30, + "class": 0, + "linearIndex": 1962, + "address": "0x29ac0902d2ADB96fd035F5B46Fb0e1aC309145B9", + "cellId": "EI-L09-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B30-C0" + }, + { + "lpbca": 9, + "branch": 30, + "class": 1, + "linearIndex": 1963, + "address": "0x22042Cdf57452F5B58e1D56389EA085b6053b54F", + "cellId": "EI-L09-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B30-C1" + }, + { + "lpbca": 9, + "branch": 30, + "class": 2, + "linearIndex": 1964, + "address": "0x635AF0D76D8C255aF80c36f76C3720aB177c3D0b", + "cellId": "EI-L09-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B30-C2" + }, + { + "lpbca": 9, + "branch": 30, + "class": 3, + "linearIndex": 1965, + "address": "0x03e50760bD79cc5D56282bc9599b62061e257e66", + "cellId": "EI-L09-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B30-C3" + }, + { + "lpbca": 9, + "branch": 30, + "class": 4, + "linearIndex": 1966, + "address": "0x85e25c186d99Cae76619A4Ca9D146448f9A92fAe", + "cellId": "EI-L09-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B30-C4" + }, + { + "lpbca": 9, + "branch": 30, + "class": 5, + "linearIndex": 1967, + "address": "0x767b984F563A8Fa13f8b249a74Ab32112C5Bc738", + "cellId": "EI-L09-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B30-C5" + }, + { + "lpbca": 9, + "branch": 31, + "class": 0, + "linearIndex": 1968, + "address": "0x60c1dA07545D78612fbc1086Cb51Eaa6A5Af205a", + "cellId": "EI-L09-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B31-C0" + }, + { + "lpbca": 9, + "branch": 31, + "class": 1, + "linearIndex": 1969, + "address": "0xA904486B9b90a6EFB4EDA3B243485041cf59725E", + "cellId": "EI-L09-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B31-C1" + }, + { + "lpbca": 9, + "branch": 31, + "class": 2, + "linearIndex": 1970, + "address": "0xAe594E4f1341F1966ecD20271721b8035D129aAf", + "cellId": "EI-L09-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B31-C2" + }, + { + "lpbca": 9, + "branch": 31, + "class": 3, + "linearIndex": 1971, + "address": "0x575D967579d93D579F1f47658e6bd7b56A39aE32", + "cellId": "EI-L09-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B31-C3" + }, + { + "lpbca": 9, + "branch": 31, + "class": 4, + "linearIndex": 1972, + "address": "0x0ED4d0a89AcE7E08812a8CA18E6161620885804b", + "cellId": "EI-L09-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B31-C4" + }, + { + "lpbca": 9, + "branch": 31, + "class": 5, + "linearIndex": 1973, + "address": "0xCDBC6016439A1fC67A1829FAE1859c7Ff49783eC", + "cellId": "EI-L09-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B31-C5" + }, + { + "lpbca": 9, + "branch": 32, + "class": 0, + "linearIndex": 1974, + "address": "0x083a9047FD176846aa63300A0fb88C28eE329866", + "cellId": "EI-L09-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B32-C0" + }, + { + "lpbca": 9, + "branch": 32, + "class": 1, + "linearIndex": 1975, + "address": "0x7C60f9d289C4B209462375876f22F1d3540fB2Cc", + "cellId": "EI-L09-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B32-C1" + }, + { + "lpbca": 9, + "branch": 32, + "class": 2, + "linearIndex": 1976, + "address": "0x377869388F27009a407212D928d9E5478cE74D28", + "cellId": "EI-L09-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B32-C2" + }, + { + "lpbca": 9, + "branch": 32, + "class": 3, + "linearIndex": 1977, + "address": "0xf1c2aE55Ca92e8F1684C6894155AA1CD2475C1a2", + "cellId": "EI-L09-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B32-C3" + }, + { + "lpbca": 9, + "branch": 32, + "class": 4, + "linearIndex": 1978, + "address": "0x7c097C598ca1B0903a707EDc6Fb019D184661670", + "cellId": "EI-L09-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B32-C4" + }, + { + "lpbca": 9, + "branch": 32, + "class": 5, + "linearIndex": 1979, + "address": "0x640D3f75b759A9C383184bc70d448f667D9a78b8", + "cellId": "EI-L09-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L09-B32-C5" + }, + { + "lpbca": 10, + "branch": 0, + "class": 0, + "linearIndex": 1980, + "address": "0x0Df1f0e52E9B68B7b69a84C3966Bed7E3c77e708", + "cellId": "EI-L10-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B00-C0" + }, + { + "lpbca": 10, + "branch": 0, + "class": 1, + "linearIndex": 1981, + "address": "0x8495f7cc8ad1Fa0C8A8D8D219F7aB05f20F574A9", + "cellId": "EI-L10-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B00-C1" + }, + { + "lpbca": 10, + "branch": 0, + "class": 2, + "linearIndex": 1982, + "address": "0x7CC7206570D422C5bbdab8E51bA83A90c6c2BaA3", + "cellId": "EI-L10-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B00-C2" + }, + { + "lpbca": 10, + "branch": 0, + "class": 3, + "linearIndex": 1983, + "address": "0x8Bd35ffDa1eBE344d5038B8C3A185879fc07fD4D", + "cellId": "EI-L10-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B00-C3" + }, + { + "lpbca": 10, + "branch": 0, + "class": 4, + "linearIndex": 1984, + "address": "0xd4962d674e683d2f47524F8CcF4fcF7E28bc6ad6", + "cellId": "EI-L10-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B00-C4" + }, + { + "lpbca": 10, + "branch": 0, + "class": 5, + "linearIndex": 1985, + "address": "0x31bbe65277ab5DF0843b9DD436b8190B2aB4934C", + "cellId": "EI-L10-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B00-C5" + }, + { + "lpbca": 10, + "branch": 1, + "class": 0, + "linearIndex": 1986, + "address": "0x326252953d6e44e066B57190684e7F3467Bf7Ed5", + "cellId": "EI-L10-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B01-C0" + }, + { + "lpbca": 10, + "branch": 1, + "class": 1, + "linearIndex": 1987, + "address": "0x0a74b328bDD40D9460DC0a9501aE54c60bb548dC", + "cellId": "EI-L10-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B01-C1" + }, + { + "lpbca": 10, + "branch": 1, + "class": 2, + "linearIndex": 1988, + "address": "0xC6D4E45943EB8A7f4cCd812376FFf585ded09d7C", + "cellId": "EI-L10-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B01-C2" + }, + { + "lpbca": 10, + "branch": 1, + "class": 3, + "linearIndex": 1989, + "address": "0xfbed15C51ea659B97678e6504Ecbac743D3a8Ea1", + "cellId": "EI-L10-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B01-C3" + }, + { + "lpbca": 10, + "branch": 1, + "class": 4, + "linearIndex": 1990, + "address": "0x4aC6Af052128246FFd40ECf0815355C33C36A504", + "cellId": "EI-L10-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B01-C4" + }, + { + "lpbca": 10, + "branch": 1, + "class": 5, + "linearIndex": 1991, + "address": "0x7618D33d59df3A32bB58D6c9d8E87ab3f734C9B7", + "cellId": "EI-L10-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B01-C5" + }, + { + "lpbca": 10, + "branch": 2, + "class": 0, + "linearIndex": 1992, + "address": "0xa6c2c14dA0B6cDc8F7C97abd73bE59c1A392d1aC", + "cellId": "EI-L10-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B02-C0" + }, + { + "lpbca": 10, + "branch": 2, + "class": 1, + "linearIndex": 1993, + "address": "0x48Df1a4aEa08F7993Aa2d76E5cCA4348B479EC33", + "cellId": "EI-L10-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B02-C1" + }, + { + "lpbca": 10, + "branch": 2, + "class": 2, + "linearIndex": 1994, + "address": "0x441188DbE5F053cCbdA4A5c56941Eba575f2E331", + "cellId": "EI-L10-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B02-C2" + }, + { + "lpbca": 10, + "branch": 2, + "class": 3, + "linearIndex": 1995, + "address": "0x873DCAE68e79FD963f0fDA36e29dA608B6c25087", + "cellId": "EI-L10-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B02-C3" + }, + { + "lpbca": 10, + "branch": 2, + "class": 4, + "linearIndex": 1996, + "address": "0x0EC80be76ae7a361E5A0dEBddf5266F41DEba057", + "cellId": "EI-L10-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B02-C4" + }, + { + "lpbca": 10, + "branch": 2, + "class": 5, + "linearIndex": 1997, + "address": "0xaeb1acB41422d80b92389f6e0C947fc616Fb85E1", + "cellId": "EI-L10-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B02-C5" + }, + { + "lpbca": 10, + "branch": 3, + "class": 0, + "linearIndex": 1998, + "address": "0xB733E16f6FDE16445D9bA3D0053140F96A3907fd", + "cellId": "EI-L10-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B03-C0" + }, + { + "lpbca": 10, + "branch": 3, + "class": 1, + "linearIndex": 1999, + "address": "0x7eb1Ba4541e3D19397741F8BD06ccfFAa4d84EAe", + "cellId": "EI-L10-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B03-C1" + }, + { + "lpbca": 10, + "branch": 3, + "class": 2, + "linearIndex": 2000, + "address": "0x70822bd7dcc4E7b6D2c8b93893A0f403A725e8E7", + "cellId": "EI-L10-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B03-C2" + }, + { + "lpbca": 10, + "branch": 3, + "class": 3, + "linearIndex": 2001, + "address": "0x119A8Be0C8b63d94fE60648a812A5dbc1ed309eB", + "cellId": "EI-L10-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B03-C3" + }, + { + "lpbca": 10, + "branch": 3, + "class": 4, + "linearIndex": 2002, + "address": "0xD8f0f9d1aF8D6Dbd948F38d2bFf323ed1C261310", + "cellId": "EI-L10-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B03-C4" + }, + { + "lpbca": 10, + "branch": 3, + "class": 5, + "linearIndex": 2003, + "address": "0x8ED73C53C4B815d8cF6cE73209F6C8d0E6fa3d2f", + "cellId": "EI-L10-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B03-C5" + }, + { + "lpbca": 10, + "branch": 4, + "class": 0, + "linearIndex": 2004, + "address": "0xA2ff1EB6AB12f09F88Edf516f744Bc5e0fD4515b", + "cellId": "EI-L10-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B04-C0" + }, + { + "lpbca": 10, + "branch": 4, + "class": 1, + "linearIndex": 2005, + "address": "0x4ED0dddfd42bac49D554296B26B7a327987637A7", + "cellId": "EI-L10-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B04-C1" + }, + { + "lpbca": 10, + "branch": 4, + "class": 2, + "linearIndex": 2006, + "address": "0x296985e9cD74c51731464E45B572c1D968EAa7E0", + "cellId": "EI-L10-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B04-C2" + }, + { + "lpbca": 10, + "branch": 4, + "class": 3, + "linearIndex": 2007, + "address": "0x28a5EB8647Aab84493654aC0707aaEb3C77dB247", + "cellId": "EI-L10-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B04-C3" + }, + { + "lpbca": 10, + "branch": 4, + "class": 4, + "linearIndex": 2008, + "address": "0xBD0f6CBfEEc082A0b91103415EbBF30A6eE2f385", + "cellId": "EI-L10-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B04-C4" + }, + { + "lpbca": 10, + "branch": 4, + "class": 5, + "linearIndex": 2009, + "address": "0x44775b8EC42D2939198E884AcD6368F7f87A7C22", + "cellId": "EI-L10-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B04-C5" + }, + { + "lpbca": 10, + "branch": 5, + "class": 0, + "linearIndex": 2010, + "address": "0x44C2bAB54712eEf1CCC27C7e711461a3747F5626", + "cellId": "EI-L10-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B05-C0" + }, + { + "lpbca": 10, + "branch": 5, + "class": 1, + "linearIndex": 2011, + "address": "0x8DDE8Df223FA2f29D331f6814e94d65c5c4e7b6e", + "cellId": "EI-L10-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B05-C1" + }, + { + "lpbca": 10, + "branch": 5, + "class": 2, + "linearIndex": 2012, + "address": "0x1827bdAcfcDA15A151E15a65f390266Faa26B821", + "cellId": "EI-L10-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B05-C2" + }, + { + "lpbca": 10, + "branch": 5, + "class": 3, + "linearIndex": 2013, + "address": "0x977eef48736235B71Bb517EFA677a9FBE75c3B71", + "cellId": "EI-L10-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B05-C3" + }, + { + "lpbca": 10, + "branch": 5, + "class": 4, + "linearIndex": 2014, + "address": "0x42839Cb762e6cF6c1CeD7345d79b5B049b741814", + "cellId": "EI-L10-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B05-C4" + }, + { + "lpbca": 10, + "branch": 5, + "class": 5, + "linearIndex": 2015, + "address": "0x3a99555Ec1430B3d88Cd07D48092FD2070722E0E", + "cellId": "EI-L10-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B05-C5" + }, + { + "lpbca": 10, + "branch": 6, + "class": 0, + "linearIndex": 2016, + "address": "0xf3D93fc138dB7D3E9c6a3E25e22b48862751F7eF", + "cellId": "EI-L10-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B06-C0" + }, + { + "lpbca": 10, + "branch": 6, + "class": 1, + "linearIndex": 2017, + "address": "0xb6C0754559f57cc4b1148680efC09548a01De377", + "cellId": "EI-L10-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B06-C1" + }, + { + "lpbca": 10, + "branch": 6, + "class": 2, + "linearIndex": 2018, + "address": "0x223385b6F6534871Ead45830760837b8d0e463a2", + "cellId": "EI-L10-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B06-C2" + }, + { + "lpbca": 10, + "branch": 6, + "class": 3, + "linearIndex": 2019, + "address": "0x2881CB043A01D4458c8dDED7091ABD5601Fa7B60", + "cellId": "EI-L10-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B06-C3" + }, + { + "lpbca": 10, + "branch": 6, + "class": 4, + "linearIndex": 2020, + "address": "0x72e7B98cd15B624e05B83644Bc1C165F2AdC1f24", + "cellId": "EI-L10-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B06-C4" + }, + { + "lpbca": 10, + "branch": 6, + "class": 5, + "linearIndex": 2021, + "address": "0x45ffB5308B651F5a05244F2340300b4827504c0C", + "cellId": "EI-L10-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B06-C5" + }, + { + "lpbca": 10, + "branch": 7, + "class": 0, + "linearIndex": 2022, + "address": "0x4B10a0F8AB6b46B7548756ba32bD1C51f3e00da2", + "cellId": "EI-L10-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B07-C0" + }, + { + "lpbca": 10, + "branch": 7, + "class": 1, + "linearIndex": 2023, + "address": "0xBE940fbf6A574B3415e4af01867b7Efb3667047d", + "cellId": "EI-L10-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B07-C1" + }, + { + "lpbca": 10, + "branch": 7, + "class": 2, + "linearIndex": 2024, + "address": "0x64bf8AD6D28f785e93E7342c0fE9bDeDb3249C6A", + "cellId": "EI-L10-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B07-C2" + }, + { + "lpbca": 10, + "branch": 7, + "class": 3, + "linearIndex": 2025, + "address": "0xD2fd0CE9826f08e0c9B0E280DD272aBb13594539", + "cellId": "EI-L10-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B07-C3" + }, + { + "lpbca": 10, + "branch": 7, + "class": 4, + "linearIndex": 2026, + "address": "0xD116F2e85ab7B99fEba6cFeC8DDA8d355ad12E10", + "cellId": "EI-L10-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B07-C4" + }, + { + "lpbca": 10, + "branch": 7, + "class": 5, + "linearIndex": 2027, + "address": "0xa625b2c759530D8D8a0fef39Ac275b0F22876fA5", + "cellId": "EI-L10-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B07-C5" + }, + { + "lpbca": 10, + "branch": 8, + "class": 0, + "linearIndex": 2028, + "address": "0x85FeaBE566F6F48bBE192d54D3A1fA3E801e9391", + "cellId": "EI-L10-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B08-C0" + }, + { + "lpbca": 10, + "branch": 8, + "class": 1, + "linearIndex": 2029, + "address": "0xa0391ac4465Decb13Bfb9f573086408876f1a28E", + "cellId": "EI-L10-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B08-C1" + }, + { + "lpbca": 10, + "branch": 8, + "class": 2, + "linearIndex": 2030, + "address": "0x70c08F7149Ed0B9Cf7eCa9F58121Cf9780400c48", + "cellId": "EI-L10-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B08-C2" + }, + { + "lpbca": 10, + "branch": 8, + "class": 3, + "linearIndex": 2031, + "address": "0xe3BdcEBe1D857080188E7FF8CD60c159f82d0797", + "cellId": "EI-L10-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B08-C3" + }, + { + "lpbca": 10, + "branch": 8, + "class": 4, + "linearIndex": 2032, + "address": "0x0163826E59e061aBa99C5B33A943457e486B0A5B", + "cellId": "EI-L10-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B08-C4" + }, + { + "lpbca": 10, + "branch": 8, + "class": 5, + "linearIndex": 2033, + "address": "0xb961B1018f5778c06280b9D221b0348d853ae8dC", + "cellId": "EI-L10-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B08-C5" + }, + { + "lpbca": 10, + "branch": 9, + "class": 0, + "linearIndex": 2034, + "address": "0x78F159914f25d06459CC48e3972f5A591f2D58B0", + "cellId": "EI-L10-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B09-C0" + }, + { + "lpbca": 10, + "branch": 9, + "class": 1, + "linearIndex": 2035, + "address": "0x8a65241531149487D599553a943D539dE44e4D6a", + "cellId": "EI-L10-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B09-C1" + }, + { + "lpbca": 10, + "branch": 9, + "class": 2, + "linearIndex": 2036, + "address": "0x2F9bBB973CaF8Fb15Ef9a552F0fdD71C250CF14F", + "cellId": "EI-L10-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B09-C2" + }, + { + "lpbca": 10, + "branch": 9, + "class": 3, + "linearIndex": 2037, + "address": "0x61BB86dc1543bd0CD3DdB641ecC28766f4b71A09", + "cellId": "EI-L10-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B09-C3" + }, + { + "lpbca": 10, + "branch": 9, + "class": 4, + "linearIndex": 2038, + "address": "0xdE484d732F8ca0AfF5ddC12239Fd69C3ad822F4B", + "cellId": "EI-L10-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B09-C4" + }, + { + "lpbca": 10, + "branch": 9, + "class": 5, + "linearIndex": 2039, + "address": "0xC9108316C9b29250b296E5aA183442AeC2e42Aa4", + "cellId": "EI-L10-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B09-C5" + }, + { + "lpbca": 10, + "branch": 10, + "class": 0, + "linearIndex": 2040, + "address": "0x776aBaD4Ce04d66aE0F720eE6C4C7F2085293985", + "cellId": "EI-L10-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B10-C0" + }, + { + "lpbca": 10, + "branch": 10, + "class": 1, + "linearIndex": 2041, + "address": "0xf54b5CE18D451f6aaE2120CFBEBb74aa12940a01", + "cellId": "EI-L10-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B10-C1" + }, + { + "lpbca": 10, + "branch": 10, + "class": 2, + "linearIndex": 2042, + "address": "0x1b1d1FCDf356354adA3c97d1a7F6c9174EAA4cBC", + "cellId": "EI-L10-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B10-C2" + }, + { + "lpbca": 10, + "branch": 10, + "class": 3, + "linearIndex": 2043, + "address": "0x643e5Fd5d496555bAB59eEEF3852751Ef2A0f316", + "cellId": "EI-L10-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B10-C3" + }, + { + "lpbca": 10, + "branch": 10, + "class": 4, + "linearIndex": 2044, + "address": "0x9A579D439571B91D945cbAE58d3c12909D639d89", + "cellId": "EI-L10-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B10-C4" + }, + { + "lpbca": 10, + "branch": 10, + "class": 5, + "linearIndex": 2045, + "address": "0x92071B58820876EDc88eB7405198eD7478C917B0", + "cellId": "EI-L10-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B10-C5" + }, + { + "lpbca": 10, + "branch": 11, + "class": 0, + "linearIndex": 2046, + "address": "0x38bB978F4fBdF39a6D55bF0FbbD678a083F1D44f", + "cellId": "EI-L10-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B11-C0" + }, + { + "lpbca": 10, + "branch": 11, + "class": 1, + "linearIndex": 2047, + "address": "0xaA2C4822160df543EDF5563DA26591Eb76d18085", + "cellId": "EI-L10-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B11-C1" + }, + { + "lpbca": 10, + "branch": 11, + "class": 2, + "linearIndex": 2048, + "address": "0x67557081C39e2931b9245E98Dc7172A1A7cD7Bb0", + "cellId": "EI-L10-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B11-C2" + }, + { + "lpbca": 10, + "branch": 11, + "class": 3, + "linearIndex": 2049, + "address": "0xF215b428C24387D97F0d3CeFaAd8528eE43174a5", + "cellId": "EI-L10-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B11-C3" + }, + { + "lpbca": 10, + "branch": 11, + "class": 4, + "linearIndex": 2050, + "address": "0x83ED22f7309D395D1dF30D4a02ce4EeCA06B69ca", + "cellId": "EI-L10-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B11-C4" + }, + { + "lpbca": 10, + "branch": 11, + "class": 5, + "linearIndex": 2051, + "address": "0xb3dbc43dA4e9eea98cdB39D36969b61092146115", + "cellId": "EI-L10-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B11-C5" + }, + { + "lpbca": 10, + "branch": 12, + "class": 0, + "linearIndex": 2052, + "address": "0x153E75e732f6680988eb7839E8855E266155228D", + "cellId": "EI-L10-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B12-C0" + }, + { + "lpbca": 10, + "branch": 12, + "class": 1, + "linearIndex": 2053, + "address": "0x423890a0f87bA0E66Bf87c96C73e0b6A67914619", + "cellId": "EI-L10-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B12-C1" + }, + { + "lpbca": 10, + "branch": 12, + "class": 2, + "linearIndex": 2054, + "address": "0xf0A161304ae221DB95e576A6943aE6f360b9DCF6", + "cellId": "EI-L10-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B12-C2" + }, + { + "lpbca": 10, + "branch": 12, + "class": 3, + "linearIndex": 2055, + "address": "0x1811Ba171BdDa543cC60610870AA0E17852785ba", + "cellId": "EI-L10-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B12-C3" + }, + { + "lpbca": 10, + "branch": 12, + "class": 4, + "linearIndex": 2056, + "address": "0xc73aa82E494F518557a74a403E70b4e4FcD9DbD2", + "cellId": "EI-L10-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B12-C4" + }, + { + "lpbca": 10, + "branch": 12, + "class": 5, + "linearIndex": 2057, + "address": "0xA3B7D772562b5CC4Ad3d4bb905c91FA666c57eBc", + "cellId": "EI-L10-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B12-C5" + }, + { + "lpbca": 10, + "branch": 13, + "class": 0, + "linearIndex": 2058, + "address": "0xE9DaF96D342cCFf556b0Af1645cfb667971E523D", + "cellId": "EI-L10-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B13-C0" + }, + { + "lpbca": 10, + "branch": 13, + "class": 1, + "linearIndex": 2059, + "address": "0xDDd3A9ebCC25f1c68aF4fB603AD8b8fBf622C0dc", + "cellId": "EI-L10-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B13-C1" + }, + { + "lpbca": 10, + "branch": 13, + "class": 2, + "linearIndex": 2060, + "address": "0x43cBBFb835a8358Cd1Fc8168fa82080c81F49843", + "cellId": "EI-L10-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B13-C2" + }, + { + "lpbca": 10, + "branch": 13, + "class": 3, + "linearIndex": 2061, + "address": "0xfd243a12ccC426e6002bB7fa94aE25b909276BE3", + "cellId": "EI-L10-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B13-C3" + }, + { + "lpbca": 10, + "branch": 13, + "class": 4, + "linearIndex": 2062, + "address": "0xc77F9DC88B19DDF0a988C2D16532d5F496D683E9", + "cellId": "EI-L10-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B13-C4" + }, + { + "lpbca": 10, + "branch": 13, + "class": 5, + "linearIndex": 2063, + "address": "0xFBa60d8ff27020e5ecbb99275b52e42B4771b964", + "cellId": "EI-L10-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B13-C5" + }, + { + "lpbca": 10, + "branch": 14, + "class": 0, + "linearIndex": 2064, + "address": "0xE02A5f0fDe5691abaaB91B3F2bcEd1FC6d71B94E", + "cellId": "EI-L10-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B14-C0" + }, + { + "lpbca": 10, + "branch": 14, + "class": 1, + "linearIndex": 2065, + "address": "0xFb539cee456d35Dbca1Ca311A2E18191FD0fb94C", + "cellId": "EI-L10-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B14-C1" + }, + { + "lpbca": 10, + "branch": 14, + "class": 2, + "linearIndex": 2066, + "address": "0x8c98f1ebafE9dA8C0e2ed20A2526953c2B957A67", + "cellId": "EI-L10-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B14-C2" + }, + { + "lpbca": 10, + "branch": 14, + "class": 3, + "linearIndex": 2067, + "address": "0x1eCaeAfE7Cd2c5DA89E3b2B03373Df11176F8984", + "cellId": "EI-L10-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B14-C3" + }, + { + "lpbca": 10, + "branch": 14, + "class": 4, + "linearIndex": 2068, + "address": "0xd457091a7d38a68C72FA5286A0F333F8ae052e52", + "cellId": "EI-L10-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B14-C4" + }, + { + "lpbca": 10, + "branch": 14, + "class": 5, + "linearIndex": 2069, + "address": "0x9f1043566335B6aF01D81B6b57587280B164c0A5", + "cellId": "EI-L10-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B14-C5" + }, + { + "lpbca": 10, + "branch": 15, + "class": 0, + "linearIndex": 2070, + "address": "0xA1d45EF5E4c34d924bAD6EeaB5d734C48e3505Cc", + "cellId": "EI-L10-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B15-C0" + }, + { + "lpbca": 10, + "branch": 15, + "class": 1, + "linearIndex": 2071, + "address": "0xc921da4cDe13515e2ca466056AdF854A1e55C9Ce", + "cellId": "EI-L10-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B15-C1" + }, + { + "lpbca": 10, + "branch": 15, + "class": 2, + "linearIndex": 2072, + "address": "0xA48bD4f1809C6aa64AdD971b30dDB5250E9b543f", + "cellId": "EI-L10-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B15-C2" + }, + { + "lpbca": 10, + "branch": 15, + "class": 3, + "linearIndex": 2073, + "address": "0x22c12FDe22ba386eF3cbc4308e9b1d2434Ae5AE9", + "cellId": "EI-L10-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B15-C3" + }, + { + "lpbca": 10, + "branch": 15, + "class": 4, + "linearIndex": 2074, + "address": "0xf22910c7eEDb48d7E4a50E3b6D6bE02e570C499A", + "cellId": "EI-L10-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B15-C4" + }, + { + "lpbca": 10, + "branch": 15, + "class": 5, + "linearIndex": 2075, + "address": "0x1782926a73cEa3e5eefa751303D007E91bb1E098", + "cellId": "EI-L10-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B15-C5" + }, + { + "lpbca": 10, + "branch": 16, + "class": 0, + "linearIndex": 2076, + "address": "0x630d7e1290ABE2a9661562625A9da0184EF3C8Bc", + "cellId": "EI-L10-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B16-C0" + }, + { + "lpbca": 10, + "branch": 16, + "class": 1, + "linearIndex": 2077, + "address": "0xF0Fa6a169f32cE26E86AfA88BEE054DA96AEa61e", + "cellId": "EI-L10-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B16-C1" + }, + { + "lpbca": 10, + "branch": 16, + "class": 2, + "linearIndex": 2078, + "address": "0xF97349a78df62D6754afD1E75141B4A4bf065925", + "cellId": "EI-L10-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B16-C2" + }, + { + "lpbca": 10, + "branch": 16, + "class": 3, + "linearIndex": 2079, + "address": "0x2bd1736b6883327DBbEB2A9641B289D01cf2d336", + "cellId": "EI-L10-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B16-C3" + }, + { + "lpbca": 10, + "branch": 16, + "class": 4, + "linearIndex": 2080, + "address": "0x66f66bA685e2E0c419b4Deab3D400e920c36D14F", + "cellId": "EI-L10-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B16-C4" + }, + { + "lpbca": 10, + "branch": 16, + "class": 5, + "linearIndex": 2081, + "address": "0xd2bA6F00394A8A777f024F04c1eCB979B20dd608", + "cellId": "EI-L10-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B16-C5" + }, + { + "lpbca": 10, + "branch": 17, + "class": 0, + "linearIndex": 2082, + "address": "0xB53f7b75cE6C055D966908371Ea2b81954835949", + "cellId": "EI-L10-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B17-C0" + }, + { + "lpbca": 10, + "branch": 17, + "class": 1, + "linearIndex": 2083, + "address": "0x7DCE54F884CaA08b5139De0EAa84D14b216a7AD5", + "cellId": "EI-L10-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B17-C1" + }, + { + "lpbca": 10, + "branch": 17, + "class": 2, + "linearIndex": 2084, + "address": "0x4d6dFce22b1F3D2dEf5eF65c8cEB07d84E0bf575", + "cellId": "EI-L10-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B17-C2" + }, + { + "lpbca": 10, + "branch": 17, + "class": 3, + "linearIndex": 2085, + "address": "0xCb798aA7c25Ca50D1D3F13D516391Ac915C49385", + "cellId": "EI-L10-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B17-C3" + }, + { + "lpbca": 10, + "branch": 17, + "class": 4, + "linearIndex": 2086, + "address": "0x8bCd45D627700Fb5ACd2Fe1f680C949Eb2d25822", + "cellId": "EI-L10-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B17-C4" + }, + { + "lpbca": 10, + "branch": 17, + "class": 5, + "linearIndex": 2087, + "address": "0x2DF8989378a55a377059D634347a9F61c2CfA2a6", + "cellId": "EI-L10-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B17-C5" + }, + { + "lpbca": 10, + "branch": 18, + "class": 0, + "linearIndex": 2088, + "address": "0x06823ee4f162D2CEEF3E2A23601F18eA74A13822", + "cellId": "EI-L10-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B18-C0" + }, + { + "lpbca": 10, + "branch": 18, + "class": 1, + "linearIndex": 2089, + "address": "0x21728E1cDFD7F863B037d39fB432fC257be91100", + "cellId": "EI-L10-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B18-C1" + }, + { + "lpbca": 10, + "branch": 18, + "class": 2, + "linearIndex": 2090, + "address": "0x321a04244475ab874D15654d4222a7B3545cf062", + "cellId": "EI-L10-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B18-C2" + }, + { + "lpbca": 10, + "branch": 18, + "class": 3, + "linearIndex": 2091, + "address": "0xBBB57B8d1f2e43ecF09c8Fd4f0E1303859Abd9c4", + "cellId": "EI-L10-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B18-C3" + }, + { + "lpbca": 10, + "branch": 18, + "class": 4, + "linearIndex": 2092, + "address": "0x4199D5C48264040fc926D1f0A28510A3140Ba5Be", + "cellId": "EI-L10-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B18-C4" + }, + { + "lpbca": 10, + "branch": 18, + "class": 5, + "linearIndex": 2093, + "address": "0x0eE51207bBdC65F884461382940b0CB2F6010268", + "cellId": "EI-L10-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B18-C5" + }, + { + "lpbca": 10, + "branch": 19, + "class": 0, + "linearIndex": 2094, + "address": "0xa9c243C81c82a8787D49E7f59E260F963bc80A2E", + "cellId": "EI-L10-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B19-C0" + }, + { + "lpbca": 10, + "branch": 19, + "class": 1, + "linearIndex": 2095, + "address": "0x2FEBe6c33cF74A99cc5b211248Dc7E92f086eBAb", + "cellId": "EI-L10-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B19-C1" + }, + { + "lpbca": 10, + "branch": 19, + "class": 2, + "linearIndex": 2096, + "address": "0x52C72638bE99F7cB8aacbdCa8a07A844DcFb3593", + "cellId": "EI-L10-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B19-C2" + }, + { + "lpbca": 10, + "branch": 19, + "class": 3, + "linearIndex": 2097, + "address": "0xd432194E2BA570C577dbF04708248d68216F0DeD", + "cellId": "EI-L10-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B19-C3" + }, + { + "lpbca": 10, + "branch": 19, + "class": 4, + "linearIndex": 2098, + "address": "0x010d1568B5A8Af8D2ad6ef87228e328b1d690067", + "cellId": "EI-L10-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B19-C4" + }, + { + "lpbca": 10, + "branch": 19, + "class": 5, + "linearIndex": 2099, + "address": "0x24CF7cA9169Bc64D82d3DA0576452aa8c28D9971", + "cellId": "EI-L10-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B19-C5" + }, + { + "lpbca": 10, + "branch": 20, + "class": 0, + "linearIndex": 2100, + "address": "0x83A1ad67BAc7F9399d6e4e0CC34d9E94A114c20F", + "cellId": "EI-L10-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B20-C0" + }, + { + "lpbca": 10, + "branch": 20, + "class": 1, + "linearIndex": 2101, + "address": "0x6beC8FeC95c84f2c3FAFa7e5F6Bad676De4edD98", + "cellId": "EI-L10-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B20-C1" + }, + { + "lpbca": 10, + "branch": 20, + "class": 2, + "linearIndex": 2102, + "address": "0x95A55348F3911e5E9FF0F2498FE99BE0E8c86794", + "cellId": "EI-L10-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B20-C2" + }, + { + "lpbca": 10, + "branch": 20, + "class": 3, + "linearIndex": 2103, + "address": "0x8FF0C9770AEba2b8093CD5558bff3a0807828700", + "cellId": "EI-L10-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B20-C3" + }, + { + "lpbca": 10, + "branch": 20, + "class": 4, + "linearIndex": 2104, + "address": "0x3a6645FC3363C42c82358e511230A83E82A16b4F", + "cellId": "EI-L10-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B20-C4" + }, + { + "lpbca": 10, + "branch": 20, + "class": 5, + "linearIndex": 2105, + "address": "0x13299CBddF2E0b61febEa026Ff882B236edc781b", + "cellId": "EI-L10-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B20-C5" + }, + { + "lpbca": 10, + "branch": 21, + "class": 0, + "linearIndex": 2106, + "address": "0x2e91175B761198F8c290c842D8215506D479dBAB", + "cellId": "EI-L10-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B21-C0" + }, + { + "lpbca": 10, + "branch": 21, + "class": 1, + "linearIndex": 2107, + "address": "0x9E5Ed7d7612309ad12FA5646504aD88534A10961", + "cellId": "EI-L10-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B21-C1" + }, + { + "lpbca": 10, + "branch": 21, + "class": 2, + "linearIndex": 2108, + "address": "0xA9cEC1242DcC715E74Cab87bfb10d6Aa319Ca8db", + "cellId": "EI-L10-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B21-C2" + }, + { + "lpbca": 10, + "branch": 21, + "class": 3, + "linearIndex": 2109, + "address": "0xB6CBB64776479E3BD5430C389f6358677d5BD547", + "cellId": "EI-L10-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B21-C3" + }, + { + "lpbca": 10, + "branch": 21, + "class": 4, + "linearIndex": 2110, + "address": "0x1b0fee668858f798D4EF51b33Dc4995E28F02f59", + "cellId": "EI-L10-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B21-C4" + }, + { + "lpbca": 10, + "branch": 21, + "class": 5, + "linearIndex": 2111, + "address": "0x652C582b4678D8860C27B9e36E7569BD6217eFF0", + "cellId": "EI-L10-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B21-C5" + }, + { + "lpbca": 10, + "branch": 22, + "class": 0, + "linearIndex": 2112, + "address": "0x10A9a1B182321bB5A29AFF65Fe54d09a33be6671", + "cellId": "EI-L10-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B22-C0" + }, + { + "lpbca": 10, + "branch": 22, + "class": 1, + "linearIndex": 2113, + "address": "0x97F38A44aaB29bd1D05bb3Aac9091f17301A73c3", + "cellId": "EI-L10-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B22-C1" + }, + { + "lpbca": 10, + "branch": 22, + "class": 2, + "linearIndex": 2114, + "address": "0xDf54D8414254F09f4b6c513d8fdbB37d990D52B4", + "cellId": "EI-L10-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B22-C2" + }, + { + "lpbca": 10, + "branch": 22, + "class": 3, + "linearIndex": 2115, + "address": "0xA36614EecE1BcCb8008412172aBA94828153D5B7", + "cellId": "EI-L10-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B22-C3" + }, + { + "lpbca": 10, + "branch": 22, + "class": 4, + "linearIndex": 2116, + "address": "0x8Ec59eAc5dC8C28cC1A86dEae391f1F5bB008875", + "cellId": "EI-L10-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B22-C4" + }, + { + "lpbca": 10, + "branch": 22, + "class": 5, + "linearIndex": 2117, + "address": "0x39f97553A43755dfa8f1e6045bda296fd0918793", + "cellId": "EI-L10-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B22-C5" + }, + { + "lpbca": 10, + "branch": 23, + "class": 0, + "linearIndex": 2118, + "address": "0x9015ecb70B6bA2EA2D561e96caA174720CE9380C", + "cellId": "EI-L10-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B23-C0" + }, + { + "lpbca": 10, + "branch": 23, + "class": 1, + "linearIndex": 2119, + "address": "0x5226349C38a6fe84DBb4fE2B611bd53e3d41bE3C", + "cellId": "EI-L10-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B23-C1" + }, + { + "lpbca": 10, + "branch": 23, + "class": 2, + "linearIndex": 2120, + "address": "0x784B09e238B2Cb5Aa0813229E9d776bB17a439d6", + "cellId": "EI-L10-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B23-C2" + }, + { + "lpbca": 10, + "branch": 23, + "class": 3, + "linearIndex": 2121, + "address": "0x7E9Ba142cc19B3fe2cF689B465E71B3E37882e3d", + "cellId": "EI-L10-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B23-C3" + }, + { + "lpbca": 10, + "branch": 23, + "class": 4, + "linearIndex": 2122, + "address": "0x0b97d9dBB56a1a7C0fa0e6F54a6022B7296F7880", + "cellId": "EI-L10-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B23-C4" + }, + { + "lpbca": 10, + "branch": 23, + "class": 5, + "linearIndex": 2123, + "address": "0x6e1c9182E2071865120A7FeEED71981E49D8699f", + "cellId": "EI-L10-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B23-C5" + }, + { + "lpbca": 10, + "branch": 24, + "class": 0, + "linearIndex": 2124, + "address": "0x45DC3335f5E3C88FC416590030803e7F0F2a0A61", + "cellId": "EI-L10-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B24-C0" + }, + { + "lpbca": 10, + "branch": 24, + "class": 1, + "linearIndex": 2125, + "address": "0xD872781738aa339F3EEEF33cc3BCcfdA21a00d89", + "cellId": "EI-L10-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B24-C1" + }, + { + "lpbca": 10, + "branch": 24, + "class": 2, + "linearIndex": 2126, + "address": "0x77F15b88254E7b6c485ED3771E6A8676F005826D", + "cellId": "EI-L10-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B24-C2" + }, + { + "lpbca": 10, + "branch": 24, + "class": 3, + "linearIndex": 2127, + "address": "0xAd0b3C80Ad554a1A6dB12ea2810003533832C2D7", + "cellId": "EI-L10-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B24-C3" + }, + { + "lpbca": 10, + "branch": 24, + "class": 4, + "linearIndex": 2128, + "address": "0x06E1673f7c1f65cBbbe7310A0d03384Bc3eA11e1", + "cellId": "EI-L10-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B24-C4" + }, + { + "lpbca": 10, + "branch": 24, + "class": 5, + "linearIndex": 2129, + "address": "0xdBCC00486DD1cEd872F2C34c405dcA843D50EEb1", + "cellId": "EI-L10-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B24-C5" + }, + { + "lpbca": 10, + "branch": 25, + "class": 0, + "linearIndex": 2130, + "address": "0x0434544725d37245a66bB593d1c7aC765c306860", + "cellId": "EI-L10-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B25-C0" + }, + { + "lpbca": 10, + "branch": 25, + "class": 1, + "linearIndex": 2131, + "address": "0xB8B4F668bFA4754a61C50f4eEc2aB900820F25cA", + "cellId": "EI-L10-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B25-C1" + }, + { + "lpbca": 10, + "branch": 25, + "class": 2, + "linearIndex": 2132, + "address": "0x1C542c5f55Ec0Eb17a2b2c70788e6f86C17c2c08", + "cellId": "EI-L10-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B25-C2" + }, + { + "lpbca": 10, + "branch": 25, + "class": 3, + "linearIndex": 2133, + "address": "0x4891afed0Aa2D34c05b957ba24dE98c3a413db81", + "cellId": "EI-L10-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B25-C3" + }, + { + "lpbca": 10, + "branch": 25, + "class": 4, + "linearIndex": 2134, + "address": "0x2f42e78dA2e37FE554Be4e156f18c63f4976c98d", + "cellId": "EI-L10-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B25-C4" + }, + { + "lpbca": 10, + "branch": 25, + "class": 5, + "linearIndex": 2135, + "address": "0x9B9Fc7c226bc271600748e9ED42f558f13a515b7", + "cellId": "EI-L10-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B25-C5" + }, + { + "lpbca": 10, + "branch": 26, + "class": 0, + "linearIndex": 2136, + "address": "0x4Fa742ab6229AF185B971585fBC8C153E61555cA", + "cellId": "EI-L10-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B26-C0" + }, + { + "lpbca": 10, + "branch": 26, + "class": 1, + "linearIndex": 2137, + "address": "0x411C9e5dAc23abCe6fEA75684c150BbFec53CA57", + "cellId": "EI-L10-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B26-C1" + }, + { + "lpbca": 10, + "branch": 26, + "class": 2, + "linearIndex": 2138, + "address": "0xc92F8562eD3B1922a31543ef729cD5d79E7F216A", + "cellId": "EI-L10-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B26-C2" + }, + { + "lpbca": 10, + "branch": 26, + "class": 3, + "linearIndex": 2139, + "address": "0xd200Ae7d4208769268b7D625F7e01eba19e81164", + "cellId": "EI-L10-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B26-C3" + }, + { + "lpbca": 10, + "branch": 26, + "class": 4, + "linearIndex": 2140, + "address": "0xab46d5876Ca5d302c0931Ad3E0C6c9300AD6B2c2", + "cellId": "EI-L10-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B26-C4" + }, + { + "lpbca": 10, + "branch": 26, + "class": 5, + "linearIndex": 2141, + "address": "0xd1184361a0f2e8A97dE4335553D8FA187c40651d", + "cellId": "EI-L10-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B26-C5" + }, + { + "lpbca": 10, + "branch": 27, + "class": 0, + "linearIndex": 2142, + "address": "0x8E136A83558da9C87CDfB3e3E7a6c6C85f020a70", + "cellId": "EI-L10-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B27-C0" + }, + { + "lpbca": 10, + "branch": 27, + "class": 1, + "linearIndex": 2143, + "address": "0x6dddd3507E3DF42C8bf7B3297b7927875DB928eC", + "cellId": "EI-L10-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B27-C1" + }, + { + "lpbca": 10, + "branch": 27, + "class": 2, + "linearIndex": 2144, + "address": "0x9CFBF7d496AF9B348E3d944587997Fbe9e4585d4", + "cellId": "EI-L10-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B27-C2" + }, + { + "lpbca": 10, + "branch": 27, + "class": 3, + "linearIndex": 2145, + "address": "0xdAe000C2640c3A1A814e202A64ac9f4cb85aeE7E", + "cellId": "EI-L10-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B27-C3" + }, + { + "lpbca": 10, + "branch": 27, + "class": 4, + "linearIndex": 2146, + "address": "0x664084024E21F815E020ED3F553C3A929195F842", + "cellId": "EI-L10-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B27-C4" + }, + { + "lpbca": 10, + "branch": 27, + "class": 5, + "linearIndex": 2147, + "address": "0x78A1cbAD2e2F4C72d2787414C179d25F94757E0D", + "cellId": "EI-L10-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B27-C5" + }, + { + "lpbca": 10, + "branch": 28, + "class": 0, + "linearIndex": 2148, + "address": "0xa006EBA92a9705539aC26b5d1e754cDd6111a81C", + "cellId": "EI-L10-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B28-C0" + }, + { + "lpbca": 10, + "branch": 28, + "class": 1, + "linearIndex": 2149, + "address": "0x2fb34EE4970B959235B13887E159A59999496bfD", + "cellId": "EI-L10-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B28-C1" + }, + { + "lpbca": 10, + "branch": 28, + "class": 2, + "linearIndex": 2150, + "address": "0x71375FEf79B4d3E68862822b28c7e14B52A9e4A1", + "cellId": "EI-L10-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B28-C2" + }, + { + "lpbca": 10, + "branch": 28, + "class": 3, + "linearIndex": 2151, + "address": "0x428E81Ed8C5cFDFb002c22f36fa052d3e793C990", + "cellId": "EI-L10-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B28-C3" + }, + { + "lpbca": 10, + "branch": 28, + "class": 4, + "linearIndex": 2152, + "address": "0xaa7b3a543A391234eE7f5f76DEd3BCc64908E037", + "cellId": "EI-L10-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B28-C4" + }, + { + "lpbca": 10, + "branch": 28, + "class": 5, + "linearIndex": 2153, + "address": "0x4137f866a22af1534Fc7feAe2Ed474AF58019935", + "cellId": "EI-L10-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B28-C5" + }, + { + "lpbca": 10, + "branch": 29, + "class": 0, + "linearIndex": 2154, + "address": "0x6f4329a75eA497360310B1410a60FcF23A2a8f3b", + "cellId": "EI-L10-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B29-C0" + }, + { + "lpbca": 10, + "branch": 29, + "class": 1, + "linearIndex": 2155, + "address": "0x960fa5dd23206a4c31a9f1141f79b5Cb8A8e1aC6", + "cellId": "EI-L10-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B29-C1" + }, + { + "lpbca": 10, + "branch": 29, + "class": 2, + "linearIndex": 2156, + "address": "0xA48A2c1ed64a7f1Bb1266A4bd3fAa53D904833ea", + "cellId": "EI-L10-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B29-C2" + }, + { + "lpbca": 10, + "branch": 29, + "class": 3, + "linearIndex": 2157, + "address": "0x108dC5c7B8AEF45c2f02b2E3531F5a303d4ad2d9", + "cellId": "EI-L10-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B29-C3" + }, + { + "lpbca": 10, + "branch": 29, + "class": 4, + "linearIndex": 2158, + "address": "0x89C0637930816DeB928e5F509Ca62EE58E27BE6F", + "cellId": "EI-L10-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B29-C4" + }, + { + "lpbca": 10, + "branch": 29, + "class": 5, + "linearIndex": 2159, + "address": "0x22693427C8e07A4173991111EA7eBE858F5ccA63", + "cellId": "EI-L10-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B29-C5" + }, + { + "lpbca": 10, + "branch": 30, + "class": 0, + "linearIndex": 2160, + "address": "0x5D9d938cdf4294348629AA89aEcaA5c1f82c2918", + "cellId": "EI-L10-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B30-C0" + }, + { + "lpbca": 10, + "branch": 30, + "class": 1, + "linearIndex": 2161, + "address": "0xBFad1F274E23c85F7D71A32fc85982794c98FA2a", + "cellId": "EI-L10-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B30-C1" + }, + { + "lpbca": 10, + "branch": 30, + "class": 2, + "linearIndex": 2162, + "address": "0x5dC6beC556588370E82f6bffdfF9c498fE2b4c2d", + "cellId": "EI-L10-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B30-C2" + }, + { + "lpbca": 10, + "branch": 30, + "class": 3, + "linearIndex": 2163, + "address": "0x3AE9996454922ddc98b71E9cdbF60f012446F4a6", + "cellId": "EI-L10-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B30-C3" + }, + { + "lpbca": 10, + "branch": 30, + "class": 4, + "linearIndex": 2164, + "address": "0xAd9DB95F16137416492ccd3f1e8A8dC8d9A3C8D6", + "cellId": "EI-L10-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B30-C4" + }, + { + "lpbca": 10, + "branch": 30, + "class": 5, + "linearIndex": 2165, + "address": "0x61053CF510b72Da14Ffc296032Af72809De89d5E", + "cellId": "EI-L10-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B30-C5" + }, + { + "lpbca": 10, + "branch": 31, + "class": 0, + "linearIndex": 2166, + "address": "0xE7bf9A4f9D61b9DA436269e7feDEe55bAeE2AbcA", + "cellId": "EI-L10-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B31-C0" + }, + { + "lpbca": 10, + "branch": 31, + "class": 1, + "linearIndex": 2167, + "address": "0x34702137A2326589c145d82C7D501E8aEb4ebc5b", + "cellId": "EI-L10-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B31-C1" + }, + { + "lpbca": 10, + "branch": 31, + "class": 2, + "linearIndex": 2168, + "address": "0xC281A694aa2c9BF5810E9C2b8aF97B51D93F0a89", + "cellId": "EI-L10-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B31-C2" + }, + { + "lpbca": 10, + "branch": 31, + "class": 3, + "linearIndex": 2169, + "address": "0x8E6A1eE1C6c910f2Bca34189d80dD48f768B3115", + "cellId": "EI-L10-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B31-C3" + }, + { + "lpbca": 10, + "branch": 31, + "class": 4, + "linearIndex": 2170, + "address": "0x75e9Bb7f07786bc56BeEBbEEC5C5435A9BF234FF", + "cellId": "EI-L10-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B31-C4" + }, + { + "lpbca": 10, + "branch": 31, + "class": 5, + "linearIndex": 2171, + "address": "0x16752F841a7AA17F729bd81b02B026e863E340dd", + "cellId": "EI-L10-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B31-C5" + }, + { + "lpbca": 10, + "branch": 32, + "class": 0, + "linearIndex": 2172, + "address": "0x3c242d0631e360E946b844158bEF14a9e13b04A7", + "cellId": "EI-L10-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B32-C0" + }, + { + "lpbca": 10, + "branch": 32, + "class": 1, + "linearIndex": 2173, + "address": "0x61C9594730827111676A55053196F5750697BCDb", + "cellId": "EI-L10-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B32-C1" + }, + { + "lpbca": 10, + "branch": 32, + "class": 2, + "linearIndex": 2174, + "address": "0x37C867215CfBde3b32031925E1992e501C96191b", + "cellId": "EI-L10-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B32-C2" + }, + { + "lpbca": 10, + "branch": 32, + "class": 3, + "linearIndex": 2175, + "address": "0xB1d510bCdA87E351F508eb47588316957b7b8901", + "cellId": "EI-L10-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B32-C3" + }, + { + "lpbca": 10, + "branch": 32, + "class": 4, + "linearIndex": 2176, + "address": "0x8d90b5317E8f483a66bFe61C81db7F83Cf1954E8", + "cellId": "EI-L10-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B32-C4" + }, + { + "lpbca": 10, + "branch": 32, + "class": 5, + "linearIndex": 2177, + "address": "0x96E19C8a442F10345c088b4469f3632cDd67441E", + "cellId": "EI-L10-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L10-B32-C5" + }, + { + "lpbca": 11, + "branch": 0, + "class": 0, + "linearIndex": 2178, + "address": "0xf55C33f90C2e8126F8eD7B89baCdAB9Ef3316BC2", + "cellId": "EI-L11-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B00-C0" + }, + { + "lpbca": 11, + "branch": 0, + "class": 1, + "linearIndex": 2179, + "address": "0x6bddEc0171a6863667f0cA91c1c7dbB7014F98ca", + "cellId": "EI-L11-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B00-C1" + }, + { + "lpbca": 11, + "branch": 0, + "class": 2, + "linearIndex": 2180, + "address": "0x24bBF64666131E41Cfb2f2EC997C162D81226B21", + "cellId": "EI-L11-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B00-C2" + }, + { + "lpbca": 11, + "branch": 0, + "class": 3, + "linearIndex": 2181, + "address": "0x905B4fac225f2B06505E87b19bE94B241C81f786", + "cellId": "EI-L11-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B00-C3" + }, + { + "lpbca": 11, + "branch": 0, + "class": 4, + "linearIndex": 2182, + "address": "0xE535d71A5716339CE1d1456eD2B1F6fCdE693F65", + "cellId": "EI-L11-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B00-C4" + }, + { + "lpbca": 11, + "branch": 0, + "class": 5, + "linearIndex": 2183, + "address": "0x649db4faf5B53236776376eed8A4B22be5770962", + "cellId": "EI-L11-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B00-C5" + }, + { + "lpbca": 11, + "branch": 1, + "class": 0, + "linearIndex": 2184, + "address": "0xA04Aa80A4B5653Aa36D284EeB78Fd0BF0bdcAdB8", + "cellId": "EI-L11-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B01-C0" + }, + { + "lpbca": 11, + "branch": 1, + "class": 1, + "linearIndex": 2185, + "address": "0x9E5Eb61735B7b23B7c73D3B9916b4be57a18aF83", + "cellId": "EI-L11-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B01-C1" + }, + { + "lpbca": 11, + "branch": 1, + "class": 2, + "linearIndex": 2186, + "address": "0xC51AfA0092bEFd98AE7cEd809c66ba03fA81Bf4A", + "cellId": "EI-L11-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B01-C2" + }, + { + "lpbca": 11, + "branch": 1, + "class": 3, + "linearIndex": 2187, + "address": "0x68E2a46A16d0801c8AAF00fD63Ca95f9BCf9e099", + "cellId": "EI-L11-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B01-C3" + }, + { + "lpbca": 11, + "branch": 1, + "class": 4, + "linearIndex": 2188, + "address": "0x375472D5282AbEDcD87f5935435aE98E8D7F57a5", + "cellId": "EI-L11-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B01-C4" + }, + { + "lpbca": 11, + "branch": 1, + "class": 5, + "linearIndex": 2189, + "address": "0x4B04d9bd3fA6A3f78e52F087Ec9408e0892a2f30", + "cellId": "EI-L11-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B01-C5" + }, + { + "lpbca": 11, + "branch": 2, + "class": 0, + "linearIndex": 2190, + "address": "0x40362129f2BC742C9F3f2651e80520d9ebeC3E2C", + "cellId": "EI-L11-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B02-C0" + }, + { + "lpbca": 11, + "branch": 2, + "class": 1, + "linearIndex": 2191, + "address": "0xC13B6B6351A0709CE05Ab63777e284d5f4EBC23D", + "cellId": "EI-L11-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B02-C1" + }, + { + "lpbca": 11, + "branch": 2, + "class": 2, + "linearIndex": 2192, + "address": "0x1256CE64c27CfB0910D2217E0FfA8F7490C0d16E", + "cellId": "EI-L11-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B02-C2" + }, + { + "lpbca": 11, + "branch": 2, + "class": 3, + "linearIndex": 2193, + "address": "0x6100e5eb810D72658165d1f82D4B9f6a95cE9D82", + "cellId": "EI-L11-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B02-C3" + }, + { + "lpbca": 11, + "branch": 2, + "class": 4, + "linearIndex": 2194, + "address": "0x496c5e239a6ce5b38c2396eF6739f2D67700a680", + "cellId": "EI-L11-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B02-C4" + }, + { + "lpbca": 11, + "branch": 2, + "class": 5, + "linearIndex": 2195, + "address": "0x229F9760Fa54c852e433dCf342da531d4fff401f", + "cellId": "EI-L11-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B02-C5" + }, + { + "lpbca": 11, + "branch": 3, + "class": 0, + "linearIndex": 2196, + "address": "0xC2565d2856495D58dc0EddEb3499822E1875a9f6", + "cellId": "EI-L11-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B03-C0" + }, + { + "lpbca": 11, + "branch": 3, + "class": 1, + "linearIndex": 2197, + "address": "0x06bB22a917A1a5d24c5Ec1FA2446ACA333c3061d", + "cellId": "EI-L11-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B03-C1" + }, + { + "lpbca": 11, + "branch": 3, + "class": 2, + "linearIndex": 2198, + "address": "0xD46f7fFA2E3C6D0866EfC0cC8Ea32B3c48056968", + "cellId": "EI-L11-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B03-C2" + }, + { + "lpbca": 11, + "branch": 3, + "class": 3, + "linearIndex": 2199, + "address": "0xb812e3300b9C2849C604f82b9B750f4eFB8a7d25", + "cellId": "EI-L11-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B03-C3" + }, + { + "lpbca": 11, + "branch": 3, + "class": 4, + "linearIndex": 2200, + "address": "0xe28CF3D015CE7f2695c692241B6cE2f213B983D0", + "cellId": "EI-L11-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B03-C4" + }, + { + "lpbca": 11, + "branch": 3, + "class": 5, + "linearIndex": 2201, + "address": "0xaD3c5873C05aBAAb0C8d62803676f4de3eD96976", + "cellId": "EI-L11-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B03-C5" + }, + { + "lpbca": 11, + "branch": 4, + "class": 0, + "linearIndex": 2202, + "address": "0x5c202559537A64aF1dD21C4B80c27b53121c5161", + "cellId": "EI-L11-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B04-C0" + }, + { + "lpbca": 11, + "branch": 4, + "class": 1, + "linearIndex": 2203, + "address": "0xCACdA63870dA4651e2Fed157C37b718dc4E90F69", + "cellId": "EI-L11-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B04-C1" + }, + { + "lpbca": 11, + "branch": 4, + "class": 2, + "linearIndex": 2204, + "address": "0x65451147715B97921890140E6C16042b003f8025", + "cellId": "EI-L11-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B04-C2" + }, + { + "lpbca": 11, + "branch": 4, + "class": 3, + "linearIndex": 2205, + "address": "0x5a5bc5C6c3fF141D863Fcea8B658D97F0658353A", + "cellId": "EI-L11-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B04-C3" + }, + { + "lpbca": 11, + "branch": 4, + "class": 4, + "linearIndex": 2206, + "address": "0x002A2B13ac893303e8247dd867bcd1df95FaAC23", + "cellId": "EI-L11-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B04-C4" + }, + { + "lpbca": 11, + "branch": 4, + "class": 5, + "linearIndex": 2207, + "address": "0x526f437116C2fcC57F3b8A9da5200B8A00090639", + "cellId": "EI-L11-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B04-C5" + }, + { + "lpbca": 11, + "branch": 5, + "class": 0, + "linearIndex": 2208, + "address": "0xF3cC3B611215E50cbcC0C8115EF122e74043E8BF", + "cellId": "EI-L11-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B05-C0" + }, + { + "lpbca": 11, + "branch": 5, + "class": 1, + "linearIndex": 2209, + "address": "0xab02126139aE23F6d33c357b8eEc8f267a327059", + "cellId": "EI-L11-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B05-C1" + }, + { + "lpbca": 11, + "branch": 5, + "class": 2, + "linearIndex": 2210, + "address": "0x75f9277A347Be8A052dC6238CEe142dCC9E41408", + "cellId": "EI-L11-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B05-C2" + }, + { + "lpbca": 11, + "branch": 5, + "class": 3, + "linearIndex": 2211, + "address": "0x75a35691fE2732EaC33f2B3694d5C8C879D99777", + "cellId": "EI-L11-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B05-C3" + }, + { + "lpbca": 11, + "branch": 5, + "class": 4, + "linearIndex": 2212, + "address": "0x5a0e963859d492b86C7dFC94537bD20A2f5E306C", + "cellId": "EI-L11-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B05-C4" + }, + { + "lpbca": 11, + "branch": 5, + "class": 5, + "linearIndex": 2213, + "address": "0xbA39A5b893f80FD327e28db503a35D96428F66fB", + "cellId": "EI-L11-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B05-C5" + }, + { + "lpbca": 11, + "branch": 6, + "class": 0, + "linearIndex": 2214, + "address": "0xD20ce44Ec580DAce7d562cE77bF4C8CeB9561C7f", + "cellId": "EI-L11-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B06-C0" + }, + { + "lpbca": 11, + "branch": 6, + "class": 1, + "linearIndex": 2215, + "address": "0x3d86EA01489A89f90a3D164ca1D503DBf94e1721", + "cellId": "EI-L11-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B06-C1" + }, + { + "lpbca": 11, + "branch": 6, + "class": 2, + "linearIndex": 2216, + "address": "0x3658f477FBA0283F00b9DBF461627aa8F66500c6", + "cellId": "EI-L11-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B06-C2" + }, + { + "lpbca": 11, + "branch": 6, + "class": 3, + "linearIndex": 2217, + "address": "0x20223c724690A7c5446865265fF679F0A88e5964", + "cellId": "EI-L11-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B06-C3" + }, + { + "lpbca": 11, + "branch": 6, + "class": 4, + "linearIndex": 2218, + "address": "0xa79c8F4f195232BEDFf17A5d30b45573e8eEa2ED", + "cellId": "EI-L11-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B06-C4" + }, + { + "lpbca": 11, + "branch": 6, + "class": 5, + "linearIndex": 2219, + "address": "0x97B8BbaC96E4c70f7F45C6E5E854a2E2844dDBBf", + "cellId": "EI-L11-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B06-C5" + }, + { + "lpbca": 11, + "branch": 7, + "class": 0, + "linearIndex": 2220, + "address": "0x1CBA44569E06FC0B814510f8da04f823bC7427D9", + "cellId": "EI-L11-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B07-C0" + }, + { + "lpbca": 11, + "branch": 7, + "class": 1, + "linearIndex": 2221, + "address": "0xDeDe1968eF95a827280201Cf2D8912Eb7ADE4367", + "cellId": "EI-L11-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B07-C1" + }, + { + "lpbca": 11, + "branch": 7, + "class": 2, + "linearIndex": 2222, + "address": "0x19DcF690D07797f9fE05c3BD13690646DA7DC6AD", + "cellId": "EI-L11-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B07-C2" + }, + { + "lpbca": 11, + "branch": 7, + "class": 3, + "linearIndex": 2223, + "address": "0x1dCfce8a5f91396b6E1d659eB2C7d8780Ed96454", + "cellId": "EI-L11-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B07-C3" + }, + { + "lpbca": 11, + "branch": 7, + "class": 4, + "linearIndex": 2224, + "address": "0x42a748Fcb1dB07158db3A738991d237025e1f586", + "cellId": "EI-L11-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B07-C4" + }, + { + "lpbca": 11, + "branch": 7, + "class": 5, + "linearIndex": 2225, + "address": "0xf650d074bBB8B146Be536a017998d9776C4D81AA", + "cellId": "EI-L11-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B07-C5" + }, + { + "lpbca": 11, + "branch": 8, + "class": 0, + "linearIndex": 2226, + "address": "0x528f2754949a4F983F1DB8b67CfF1c36621d1909", + "cellId": "EI-L11-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B08-C0" + }, + { + "lpbca": 11, + "branch": 8, + "class": 1, + "linearIndex": 2227, + "address": "0x0F56A4263d6AfD5eBED154fD5b83d6592caCD4Dc", + "cellId": "EI-L11-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B08-C1" + }, + { + "lpbca": 11, + "branch": 8, + "class": 2, + "linearIndex": 2228, + "address": "0xf7a6544a8Cb58DCca39e61882756ccb604AFBA2E", + "cellId": "EI-L11-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B08-C2" + }, + { + "lpbca": 11, + "branch": 8, + "class": 3, + "linearIndex": 2229, + "address": "0x4d8c3d9f2085D152484386d873d8F167C88B67a9", + "cellId": "EI-L11-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B08-C3" + }, + { + "lpbca": 11, + "branch": 8, + "class": 4, + "linearIndex": 2230, + "address": "0xF34Bdc271C37C18A12CC0769bF71989092fc3deb", + "cellId": "EI-L11-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B08-C4" + }, + { + "lpbca": 11, + "branch": 8, + "class": 5, + "linearIndex": 2231, + "address": "0xaF9018020DADa44aD6E83906d4BaA268027511d4", + "cellId": "EI-L11-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B08-C5" + }, + { + "lpbca": 11, + "branch": 9, + "class": 0, + "linearIndex": 2232, + "address": "0x33a0146Bf10793A3811C58aBC5265368f55E9E22", + "cellId": "EI-L11-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B09-C0" + }, + { + "lpbca": 11, + "branch": 9, + "class": 1, + "linearIndex": 2233, + "address": "0x4895AaB05AE7382bd2eDd3BAFaa63c9184EbEbFd", + "cellId": "EI-L11-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B09-C1" + }, + { + "lpbca": 11, + "branch": 9, + "class": 2, + "linearIndex": 2234, + "address": "0x42FCe888732516Fcf0c2920eD899B96d797EBC89", + "cellId": "EI-L11-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B09-C2" + }, + { + "lpbca": 11, + "branch": 9, + "class": 3, + "linearIndex": 2235, + "address": "0x29dB1B250723Bb52c998Fe23a7EBb2a9A1F01c21", + "cellId": "EI-L11-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B09-C3" + }, + { + "lpbca": 11, + "branch": 9, + "class": 4, + "linearIndex": 2236, + "address": "0xAcF497d2d5159d15Be36Df7e07E4b41752da8Ace", + "cellId": "EI-L11-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B09-C4" + }, + { + "lpbca": 11, + "branch": 9, + "class": 5, + "linearIndex": 2237, + "address": "0xa81A4CeEf82e7741C8AA3083F419F1d9Af738c0d", + "cellId": "EI-L11-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B09-C5" + }, + { + "lpbca": 11, + "branch": 10, + "class": 0, + "linearIndex": 2238, + "address": "0x16a636b325b7eE748043D11084531BB73872E1A2", + "cellId": "EI-L11-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B10-C0" + }, + { + "lpbca": 11, + "branch": 10, + "class": 1, + "linearIndex": 2239, + "address": "0xBA38fe63f9fE2aF124363c013692D516A9f1827c", + "cellId": "EI-L11-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B10-C1" + }, + { + "lpbca": 11, + "branch": 10, + "class": 2, + "linearIndex": 2240, + "address": "0xb40a90Ab543e82CF17dbf50aFe823935CAC5Df91", + "cellId": "EI-L11-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B10-C2" + }, + { + "lpbca": 11, + "branch": 10, + "class": 3, + "linearIndex": 2241, + "address": "0xB3e6873fEc24AFc9088530DCe2b212a198E27861", + "cellId": "EI-L11-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B10-C3" + }, + { + "lpbca": 11, + "branch": 10, + "class": 4, + "linearIndex": 2242, + "address": "0xc81FBd7FA90E77011f92CED17c53efaFdf9d9B2a", + "cellId": "EI-L11-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B10-C4" + }, + { + "lpbca": 11, + "branch": 10, + "class": 5, + "linearIndex": 2243, + "address": "0x574eFd10d41BCF97A66Cf56be2aA7710062Da993", + "cellId": "EI-L11-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B10-C5" + }, + { + "lpbca": 11, + "branch": 11, + "class": 0, + "linearIndex": 2244, + "address": "0xE25A67b34acfdd5d6C037c7849E048af6cfFe10c", + "cellId": "EI-L11-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B11-C0" + }, + { + "lpbca": 11, + "branch": 11, + "class": 1, + "linearIndex": 2245, + "address": "0xb2E540a94AB88046867a7d301f47402323EA192f", + "cellId": "EI-L11-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B11-C1" + }, + { + "lpbca": 11, + "branch": 11, + "class": 2, + "linearIndex": 2246, + "address": "0xE543872E3419e2310580B1Fa4913a89EE8925302", + "cellId": "EI-L11-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B11-C2" + }, + { + "lpbca": 11, + "branch": 11, + "class": 3, + "linearIndex": 2247, + "address": "0x4901e66d232e4AADf929e373BaD6d4dbAF6793E1", + "cellId": "EI-L11-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B11-C3" + }, + { + "lpbca": 11, + "branch": 11, + "class": 4, + "linearIndex": 2248, + "address": "0xacc582c2F1e1F6333a4f8ED391b542a90D060321", + "cellId": "EI-L11-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B11-C4" + }, + { + "lpbca": 11, + "branch": 11, + "class": 5, + "linearIndex": 2249, + "address": "0xf93b31dd1Fd26D9E110F31CA2C4D5294faAD7944", + "cellId": "EI-L11-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B11-C5" + }, + { + "lpbca": 11, + "branch": 12, + "class": 0, + "linearIndex": 2250, + "address": "0x73f50B0c197E409A0c67e258b6dA0B52F5124d5D", + "cellId": "EI-L11-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B12-C0" + }, + { + "lpbca": 11, + "branch": 12, + "class": 1, + "linearIndex": 2251, + "address": "0x0e06717183dF60079d3531f8A53f40aceDD9382b", + "cellId": "EI-L11-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B12-C1" + }, + { + "lpbca": 11, + "branch": 12, + "class": 2, + "linearIndex": 2252, + "address": "0xFB0DDFd69218e9a3a509a2B26A97dCc88AD3F53d", + "cellId": "EI-L11-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B12-C2" + }, + { + "lpbca": 11, + "branch": 12, + "class": 3, + "linearIndex": 2253, + "address": "0xE7d60a20F871dC9bA50A9da9F5a30cd2C598C846", + "cellId": "EI-L11-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B12-C3" + }, + { + "lpbca": 11, + "branch": 12, + "class": 4, + "linearIndex": 2254, + "address": "0xF47fB98cBEfEBCFbEe91E769685567532258Fdd8", + "cellId": "EI-L11-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B12-C4" + }, + { + "lpbca": 11, + "branch": 12, + "class": 5, + "linearIndex": 2255, + "address": "0x0304D822E1918c465b6D9148e515F1C52607aB44", + "cellId": "EI-L11-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B12-C5" + }, + { + "lpbca": 11, + "branch": 13, + "class": 0, + "linearIndex": 2256, + "address": "0xF1E100d96e8b16Ec714aeD10FD3eC1Ec490177A7", + "cellId": "EI-L11-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B13-C0" + }, + { + "lpbca": 11, + "branch": 13, + "class": 1, + "linearIndex": 2257, + "address": "0x333F57eA527091Fe335A0c22a5fFb683E78a72d9", + "cellId": "EI-L11-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B13-C1" + }, + { + "lpbca": 11, + "branch": 13, + "class": 2, + "linearIndex": 2258, + "address": "0xCf3D0DF191a0ED46F52BB535109EA0610dc569DE", + "cellId": "EI-L11-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B13-C2" + }, + { + "lpbca": 11, + "branch": 13, + "class": 3, + "linearIndex": 2259, + "address": "0xc9d9C8E19389B3056DD7afa7404778F3057d2C0F", + "cellId": "EI-L11-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B13-C3" + }, + { + "lpbca": 11, + "branch": 13, + "class": 4, + "linearIndex": 2260, + "address": "0xec694C69cecBCC6B5A30eb40b3e6695525C53DA6", + "cellId": "EI-L11-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B13-C4" + }, + { + "lpbca": 11, + "branch": 13, + "class": 5, + "linearIndex": 2261, + "address": "0xfa58a0E9084CD5a5Fe55ef9501e41DB610c771af", + "cellId": "EI-L11-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B13-C5" + }, + { + "lpbca": 11, + "branch": 14, + "class": 0, + "linearIndex": 2262, + "address": "0x401d03b276c0897cEA066Eed7652740740DEcb9b", + "cellId": "EI-L11-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B14-C0" + }, + { + "lpbca": 11, + "branch": 14, + "class": 1, + "linearIndex": 2263, + "address": "0x9380E72cCD0683fF9698138fB61FDbFb55B24DC1", + "cellId": "EI-L11-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B14-C1" + }, + { + "lpbca": 11, + "branch": 14, + "class": 2, + "linearIndex": 2264, + "address": "0x9790D653643c89F1322FbD45dEB94b254c7179F1", + "cellId": "EI-L11-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B14-C2" + }, + { + "lpbca": 11, + "branch": 14, + "class": 3, + "linearIndex": 2265, + "address": "0xd93BaE1958df400C48eD30aE40cA9b299EeE0FD4", + "cellId": "EI-L11-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B14-C3" + }, + { + "lpbca": 11, + "branch": 14, + "class": 4, + "linearIndex": 2266, + "address": "0xcfC3Be2F5b62014b35F2D92b8c42adb9E91167f4", + "cellId": "EI-L11-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B14-C4" + }, + { + "lpbca": 11, + "branch": 14, + "class": 5, + "linearIndex": 2267, + "address": "0xa87177Cd4f8E0B2B81bC282879276f1c7BE72550", + "cellId": "EI-L11-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B14-C5" + }, + { + "lpbca": 11, + "branch": 15, + "class": 0, + "linearIndex": 2268, + "address": "0xd9E066Fb875Cc54376c938Fbd9B456ad9bA6D954", + "cellId": "EI-L11-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B15-C0" + }, + { + "lpbca": 11, + "branch": 15, + "class": 1, + "linearIndex": 2269, + "address": "0x3Ca04e4f386382803d01088BdfCce336e03340fd", + "cellId": "EI-L11-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B15-C1" + }, + { + "lpbca": 11, + "branch": 15, + "class": 2, + "linearIndex": 2270, + "address": "0x86c6eefe4cff365f55b5D36848B9214226FBa659", + "cellId": "EI-L11-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B15-C2" + }, + { + "lpbca": 11, + "branch": 15, + "class": 3, + "linearIndex": 2271, + "address": "0xBBc9e63c8Df1f532e52b33812BBcb596D7063D57", + "cellId": "EI-L11-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B15-C3" + }, + { + "lpbca": 11, + "branch": 15, + "class": 4, + "linearIndex": 2272, + "address": "0x510EFa811c7501f8bEcC60Db188658EdB977768f", + "cellId": "EI-L11-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B15-C4" + }, + { + "lpbca": 11, + "branch": 15, + "class": 5, + "linearIndex": 2273, + "address": "0x048018862a369C3DD5B8400072E6c115f713DAeE", + "cellId": "EI-L11-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B15-C5" + }, + { + "lpbca": 11, + "branch": 16, + "class": 0, + "linearIndex": 2274, + "address": "0xb1A42B41Ff96b0249aD94949B0802FD060d4D8F7", + "cellId": "EI-L11-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B16-C0" + }, + { + "lpbca": 11, + "branch": 16, + "class": 1, + "linearIndex": 2275, + "address": "0x155D31B9bfdaDA4278f28f0Fc8b9B0f1D6Da1735", + "cellId": "EI-L11-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B16-C1" + }, + { + "lpbca": 11, + "branch": 16, + "class": 2, + "linearIndex": 2276, + "address": "0x8099e8d016b95Ee4C3BdA5B0a9ee5d62682f81F9", + "cellId": "EI-L11-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B16-C2" + }, + { + "lpbca": 11, + "branch": 16, + "class": 3, + "linearIndex": 2277, + "address": "0xA268cd57f59058608dF2f84F5a034B7BCe522b26", + "cellId": "EI-L11-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B16-C3" + }, + { + "lpbca": 11, + "branch": 16, + "class": 4, + "linearIndex": 2278, + "address": "0x59cA2665F910FFD106E86bb7B3E4f225693992Ef", + "cellId": "EI-L11-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B16-C4" + }, + { + "lpbca": 11, + "branch": 16, + "class": 5, + "linearIndex": 2279, + "address": "0x319b57a75691dDa4261132d288eD6e303eaD5895", + "cellId": "EI-L11-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B16-C5" + }, + { + "lpbca": 11, + "branch": 17, + "class": 0, + "linearIndex": 2280, + "address": "0x49d82e8E72809380A3849C9a253f353EC22aEfc6", + "cellId": "EI-L11-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B17-C0" + }, + { + "lpbca": 11, + "branch": 17, + "class": 1, + "linearIndex": 2281, + "address": "0x618358C24412d3bDDa630d64CF15Af3E4Bd1d51E", + "cellId": "EI-L11-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B17-C1" + }, + { + "lpbca": 11, + "branch": 17, + "class": 2, + "linearIndex": 2282, + "address": "0xbe9413450d57c6bC3a8c6e2A76ff2664a7CE40D0", + "cellId": "EI-L11-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B17-C2" + }, + { + "lpbca": 11, + "branch": 17, + "class": 3, + "linearIndex": 2283, + "address": "0x9E0Ba50CA80F15BD2B301C077C0E8251c89Fe3DD", + "cellId": "EI-L11-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B17-C3" + }, + { + "lpbca": 11, + "branch": 17, + "class": 4, + "linearIndex": 2284, + "address": "0x3A99b7A95427dE0b5bBd0Aeb3aF9618F15ec739B", + "cellId": "EI-L11-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B17-C4" + }, + { + "lpbca": 11, + "branch": 17, + "class": 5, + "linearIndex": 2285, + "address": "0x0FD4817280e29aEf4E7f28Cac3E20bd35aA4A86C", + "cellId": "EI-L11-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B17-C5" + }, + { + "lpbca": 11, + "branch": 18, + "class": 0, + "linearIndex": 2286, + "address": "0x21F231D2DdCAaa5Ca3FD3661BfFEE96a0DccfCe3", + "cellId": "EI-L11-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B18-C0" + }, + { + "lpbca": 11, + "branch": 18, + "class": 1, + "linearIndex": 2287, + "address": "0x65BC20373850B9B41430607f7a6D5D6f66E8d32E", + "cellId": "EI-L11-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B18-C1" + }, + { + "lpbca": 11, + "branch": 18, + "class": 2, + "linearIndex": 2288, + "address": "0x92274C8f1B9EAb8566Ef27408602af963834A352", + "cellId": "EI-L11-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B18-C2" + }, + { + "lpbca": 11, + "branch": 18, + "class": 3, + "linearIndex": 2289, + "address": "0x68FC8C0ebc3FFFb41c82802C56F1F3b11FB0237F", + "cellId": "EI-L11-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B18-C3" + }, + { + "lpbca": 11, + "branch": 18, + "class": 4, + "linearIndex": 2290, + "address": "0x1cF474e36c919765dC3D575AD4FB00aa63e987e1", + "cellId": "EI-L11-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B18-C4" + }, + { + "lpbca": 11, + "branch": 18, + "class": 5, + "linearIndex": 2291, + "address": "0xBCb7D2F99A836CbC37Fbe4393f54bb661BEa7216", + "cellId": "EI-L11-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B18-C5" + }, + { + "lpbca": 11, + "branch": 19, + "class": 0, + "linearIndex": 2292, + "address": "0x0F3e693F5035Aa88a704e45E625cC4c311c4B3ff", + "cellId": "EI-L11-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B19-C0" + }, + { + "lpbca": 11, + "branch": 19, + "class": 1, + "linearIndex": 2293, + "address": "0x91982057BC8C4Ca1FF0bEfeCeF58649599901C22", + "cellId": "EI-L11-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B19-C1" + }, + { + "lpbca": 11, + "branch": 19, + "class": 2, + "linearIndex": 2294, + "address": "0xc8cd90bC9B25385705De407E5d53451586196A99", + "cellId": "EI-L11-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B19-C2" + }, + { + "lpbca": 11, + "branch": 19, + "class": 3, + "linearIndex": 2295, + "address": "0x5F575f5fD61a6443C97d41d08DFf206b8F7Ac083", + "cellId": "EI-L11-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B19-C3" + }, + { + "lpbca": 11, + "branch": 19, + "class": 4, + "linearIndex": 2296, + "address": "0xea2446281092Ad3deeDbcd546DEf70a2CCC471B5", + "cellId": "EI-L11-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B19-C4" + }, + { + "lpbca": 11, + "branch": 19, + "class": 5, + "linearIndex": 2297, + "address": "0x4e4232c17C2cA18Ea13Cf8311a264F3FBA864eA1", + "cellId": "EI-L11-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B19-C5" + }, + { + "lpbca": 11, + "branch": 20, + "class": 0, + "linearIndex": 2298, + "address": "0x77e3362339f380479233dD8aC575ADE5e80d8D03", + "cellId": "EI-L11-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B20-C0" + }, + { + "lpbca": 11, + "branch": 20, + "class": 1, + "linearIndex": 2299, + "address": "0x824396bB487241AAD463e52C577e814c062098E7", + "cellId": "EI-L11-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B20-C1" + }, + { + "lpbca": 11, + "branch": 20, + "class": 2, + "linearIndex": 2300, + "address": "0x2aF57C8CD7ef60668c87C329C9E52d76D23639d9", + "cellId": "EI-L11-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B20-C2" + }, + { + "lpbca": 11, + "branch": 20, + "class": 3, + "linearIndex": 2301, + "address": "0xDa68d785f2ead7F34f7698Ddf13AC5E791DF3475", + "cellId": "EI-L11-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B20-C3" + }, + { + "lpbca": 11, + "branch": 20, + "class": 4, + "linearIndex": 2302, + "address": "0xB30c208710F3F330F3f7B34B1b5c5F3a14FD81B2", + "cellId": "EI-L11-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B20-C4" + }, + { + "lpbca": 11, + "branch": 20, + "class": 5, + "linearIndex": 2303, + "address": "0x78f643ba0b8483388C01fcc219d4464DeDa86B28", + "cellId": "EI-L11-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B20-C5" + }, + { + "lpbca": 11, + "branch": 21, + "class": 0, + "linearIndex": 2304, + "address": "0x4C159EFbAAB6e826Bf9501E470B9b84C63de910a", + "cellId": "EI-L11-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B21-C0" + }, + { + "lpbca": 11, + "branch": 21, + "class": 1, + "linearIndex": 2305, + "address": "0x63935C5909E1F7139b162D5B29718de78F0101c0", + "cellId": "EI-L11-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B21-C1" + }, + { + "lpbca": 11, + "branch": 21, + "class": 2, + "linearIndex": 2306, + "address": "0x50A0cfAf2F9063196d2CD96653E30A48D7285B22", + "cellId": "EI-L11-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B21-C2" + }, + { + "lpbca": 11, + "branch": 21, + "class": 3, + "linearIndex": 2307, + "address": "0x81A2583b666047FB5C8ce5265C7802EBB4c196B4", + "cellId": "EI-L11-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B21-C3" + }, + { + "lpbca": 11, + "branch": 21, + "class": 4, + "linearIndex": 2308, + "address": "0x399c99458fE2370b6a3d40f3858522204e377a6b", + "cellId": "EI-L11-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B21-C4" + }, + { + "lpbca": 11, + "branch": 21, + "class": 5, + "linearIndex": 2309, + "address": "0xD770b8F141129ac8b1772fdAb7B03ba80D21B478", + "cellId": "EI-L11-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B21-C5" + }, + { + "lpbca": 11, + "branch": 22, + "class": 0, + "linearIndex": 2310, + "address": "0x70c5aEE01E6cbbbfa6D5444A3D75145c10f3b290", + "cellId": "EI-L11-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B22-C0" + }, + { + "lpbca": 11, + "branch": 22, + "class": 1, + "linearIndex": 2311, + "address": "0x34D1CC949e15a12d6f4C5f0E3fcA1D0B06CAef13", + "cellId": "EI-L11-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B22-C1" + }, + { + "lpbca": 11, + "branch": 22, + "class": 2, + "linearIndex": 2312, + "address": "0x26FeeBF307EE24Eb63478aDA84B28BF21FF3d6D1", + "cellId": "EI-L11-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B22-C2" + }, + { + "lpbca": 11, + "branch": 22, + "class": 3, + "linearIndex": 2313, + "address": "0x9a7A59610cbD0c2f3dEdD527da87d6179721B58b", + "cellId": "EI-L11-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B22-C3" + }, + { + "lpbca": 11, + "branch": 22, + "class": 4, + "linearIndex": 2314, + "address": "0xCA02e2D3E51584Ab004E430fc0060be58F1A1C7b", + "cellId": "EI-L11-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B22-C4" + }, + { + "lpbca": 11, + "branch": 22, + "class": 5, + "linearIndex": 2315, + "address": "0x3F6Ec88b6C68Ca25836F6585ab59735cb2858acc", + "cellId": "EI-L11-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B22-C5" + }, + { + "lpbca": 11, + "branch": 23, + "class": 0, + "linearIndex": 2316, + "address": "0x78954b855F8aa6b241FC70190696286e420C56C4", + "cellId": "EI-L11-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B23-C0" + }, + { + "lpbca": 11, + "branch": 23, + "class": 1, + "linearIndex": 2317, + "address": "0xFCc88A0f9686aA78061434EbcD24c4768286c503", + "cellId": "EI-L11-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B23-C1" + }, + { + "lpbca": 11, + "branch": 23, + "class": 2, + "linearIndex": 2318, + "address": "0x3713F9597A0e5Bf6a52d2B50cb099124bD5aded3", + "cellId": "EI-L11-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B23-C2" + }, + { + "lpbca": 11, + "branch": 23, + "class": 3, + "linearIndex": 2319, + "address": "0x3024614F8f2053F8BA1598899Ed0FD570351FE98", + "cellId": "EI-L11-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B23-C3" + }, + { + "lpbca": 11, + "branch": 23, + "class": 4, + "linearIndex": 2320, + "address": "0x265C3D5e9f241d0F4E7a6bC79A1986b822781Ca3", + "cellId": "EI-L11-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B23-C4" + }, + { + "lpbca": 11, + "branch": 23, + "class": 5, + "linearIndex": 2321, + "address": "0x326399c54e2Ba2ad3178F710ba6387DE0D6b3BaF", + "cellId": "EI-L11-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B23-C5" + }, + { + "lpbca": 11, + "branch": 24, + "class": 0, + "linearIndex": 2322, + "address": "0x95B6e54BE54D69f55fE9baC2D37ebeb03967a70F", + "cellId": "EI-L11-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B24-C0" + }, + { + "lpbca": 11, + "branch": 24, + "class": 1, + "linearIndex": 2323, + "address": "0xeF20C61915FaF490F6B321e88d45007ED3A9A19b", + "cellId": "EI-L11-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B24-C1" + }, + { + "lpbca": 11, + "branch": 24, + "class": 2, + "linearIndex": 2324, + "address": "0x821ff603Fcd40DfC8cAdbb0A10db822c3b48f18f", + "cellId": "EI-L11-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B24-C2" + }, + { + "lpbca": 11, + "branch": 24, + "class": 3, + "linearIndex": 2325, + "address": "0x4f2cfF0A3031dc069Df6d02f243BEf3Fffc3BdC8", + "cellId": "EI-L11-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B24-C3" + }, + { + "lpbca": 11, + "branch": 24, + "class": 4, + "linearIndex": 2326, + "address": "0xb84C7843bB6025Ac383bf912efdb57a4d6A5Ec89", + "cellId": "EI-L11-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B24-C4" + }, + { + "lpbca": 11, + "branch": 24, + "class": 5, + "linearIndex": 2327, + "address": "0x9675955B2f14A625bd51944e0bCDED4bac44c4EE", + "cellId": "EI-L11-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B24-C5" + }, + { + "lpbca": 11, + "branch": 25, + "class": 0, + "linearIndex": 2328, + "address": "0x448863d5dFF8CE374dA58fd031bD2d4b81c9e7d0", + "cellId": "EI-L11-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B25-C0" + }, + { + "lpbca": 11, + "branch": 25, + "class": 1, + "linearIndex": 2329, + "address": "0xC9E21764CC6A2e09F617d8Eedc87B801dEbBb2B7", + "cellId": "EI-L11-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B25-C1" + }, + { + "lpbca": 11, + "branch": 25, + "class": 2, + "linearIndex": 2330, + "address": "0x0cD3D96b70e4f92c8dA8859983D7F8b265B2f53f", + "cellId": "EI-L11-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B25-C2" + }, + { + "lpbca": 11, + "branch": 25, + "class": 3, + "linearIndex": 2331, + "address": "0x1e7ab26C943ebc53ED0aEeCbf6b6b347B5947B0d", + "cellId": "EI-L11-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B25-C3" + }, + { + "lpbca": 11, + "branch": 25, + "class": 4, + "linearIndex": 2332, + "address": "0x31f24bC8aCE80E3030Ce7778D6f31D5443AEE23D", + "cellId": "EI-L11-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B25-C4" + }, + { + "lpbca": 11, + "branch": 25, + "class": 5, + "linearIndex": 2333, + "address": "0x8E5E53266229Ae1DD7545aB59b08a0D0282aF3a4", + "cellId": "EI-L11-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B25-C5" + }, + { + "lpbca": 11, + "branch": 26, + "class": 0, + "linearIndex": 2334, + "address": "0x7696F90212D17249A10acd5b3a56bF0787EE3ffb", + "cellId": "EI-L11-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B26-C0" + }, + { + "lpbca": 11, + "branch": 26, + "class": 1, + "linearIndex": 2335, + "address": "0x6F944b32273762755036C91395beB11792C6c9D0", + "cellId": "EI-L11-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B26-C1" + }, + { + "lpbca": 11, + "branch": 26, + "class": 2, + "linearIndex": 2336, + "address": "0xfCaBf57d5F34ece77e1D76Fb79c0834f84C2fDd6", + "cellId": "EI-L11-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B26-C2" + }, + { + "lpbca": 11, + "branch": 26, + "class": 3, + "linearIndex": 2337, + "address": "0xA43Fbb346203E40B7B557b20323a7209238cbf41", + "cellId": "EI-L11-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B26-C3" + }, + { + "lpbca": 11, + "branch": 26, + "class": 4, + "linearIndex": 2338, + "address": "0x6Acc6c51c7c948B1DCA6373c8EA9DD22B9B5039f", + "cellId": "EI-L11-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B26-C4" + }, + { + "lpbca": 11, + "branch": 26, + "class": 5, + "linearIndex": 2339, + "address": "0x2332Ca3FeB92d8aDaC00098E0b70c5bc9976ED32", + "cellId": "EI-L11-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B26-C5" + }, + { + "lpbca": 11, + "branch": 27, + "class": 0, + "linearIndex": 2340, + "address": "0x38bBE5c3bdbAe211a09732516A49311aEAF60A7c", + "cellId": "EI-L11-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B27-C0" + }, + { + "lpbca": 11, + "branch": 27, + "class": 1, + "linearIndex": 2341, + "address": "0xBEb66C6340A3F675cbCEcCC708FD212B9520b3ee", + "cellId": "EI-L11-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B27-C1" + }, + { + "lpbca": 11, + "branch": 27, + "class": 2, + "linearIndex": 2342, + "address": "0x1956b1Fa29a1e6284Ffb8984A7A0A2017903594d", + "cellId": "EI-L11-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B27-C2" + }, + { + "lpbca": 11, + "branch": 27, + "class": 3, + "linearIndex": 2343, + "address": "0x11f2559ABA82a24C51D8811fD5bA2dFBa9ce99a1", + "cellId": "EI-L11-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B27-C3" + }, + { + "lpbca": 11, + "branch": 27, + "class": 4, + "linearIndex": 2344, + "address": "0x1D5639b364F39C86FA14bbb658770AB1bA3b020a", + "cellId": "EI-L11-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B27-C4" + }, + { + "lpbca": 11, + "branch": 27, + "class": 5, + "linearIndex": 2345, + "address": "0x94F2d735C831D2fc9B9ac72C904653d81Acb1A3C", + "cellId": "EI-L11-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B27-C5" + }, + { + "lpbca": 11, + "branch": 28, + "class": 0, + "linearIndex": 2346, + "address": "0xF7889ca24183Ab0aa0b4D4584d1331ac753B55e4", + "cellId": "EI-L11-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B28-C0" + }, + { + "lpbca": 11, + "branch": 28, + "class": 1, + "linearIndex": 2347, + "address": "0xc15E9159c6505bb21BCe5B093f288198b68cd5e1", + "cellId": "EI-L11-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B28-C1" + }, + { + "lpbca": 11, + "branch": 28, + "class": 2, + "linearIndex": 2348, + "address": "0x5122a483A385eE06914c19940B8A2763E237265C", + "cellId": "EI-L11-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B28-C2" + }, + { + "lpbca": 11, + "branch": 28, + "class": 3, + "linearIndex": 2349, + "address": "0xC532A7f2aA8125Ac2F447766475cAD56c7a02ccd", + "cellId": "EI-L11-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B28-C3" + }, + { + "lpbca": 11, + "branch": 28, + "class": 4, + "linearIndex": 2350, + "address": "0x4CB70767DC5d089647701568FaA6063D2E764648", + "cellId": "EI-L11-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B28-C4" + }, + { + "lpbca": 11, + "branch": 28, + "class": 5, + "linearIndex": 2351, + "address": "0xB5C73193c525a577Fc789a46cdbAC66a2eDba2cC", + "cellId": "EI-L11-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B28-C5" + }, + { + "lpbca": 11, + "branch": 29, + "class": 0, + "linearIndex": 2352, + "address": "0x5D0F57D4B64E121B86d4Efd4c7fF70D160Ee6596", + "cellId": "EI-L11-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B29-C0" + }, + { + "lpbca": 11, + "branch": 29, + "class": 1, + "linearIndex": 2353, + "address": "0x68C2cAb707e58Bc42A8d283eE26Bba3282dAF828", + "cellId": "EI-L11-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B29-C1" + }, + { + "lpbca": 11, + "branch": 29, + "class": 2, + "linearIndex": 2354, + "address": "0x8F518725f5709FAF4F356D5EF17B94eeD3B0e489", + "cellId": "EI-L11-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B29-C2" + }, + { + "lpbca": 11, + "branch": 29, + "class": 3, + "linearIndex": 2355, + "address": "0xEa0c799724F06139d07faE6837F42BAdb38dd609", + "cellId": "EI-L11-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B29-C3" + }, + { + "lpbca": 11, + "branch": 29, + "class": 4, + "linearIndex": 2356, + "address": "0xA2B4ac3fc46a54740c5a7811E9361998D0C5acfa", + "cellId": "EI-L11-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B29-C4" + }, + { + "lpbca": 11, + "branch": 29, + "class": 5, + "linearIndex": 2357, + "address": "0x16db340d26E03c50a82BfcdC0E52Fbd747462d66", + "cellId": "EI-L11-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B29-C5" + }, + { + "lpbca": 11, + "branch": 30, + "class": 0, + "linearIndex": 2358, + "address": "0x35A799a03c5021104E7F3d93b5E03282A3890B33", + "cellId": "EI-L11-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B30-C0" + }, + { + "lpbca": 11, + "branch": 30, + "class": 1, + "linearIndex": 2359, + "address": "0x70B6c8b341a23E99586D3a3FCD2B174eC4cBf3a1", + "cellId": "EI-L11-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B30-C1" + }, + { + "lpbca": 11, + "branch": 30, + "class": 2, + "linearIndex": 2360, + "address": "0xea49272E02eFeFD1D1b3CF1E2620358dfbf20982", + "cellId": "EI-L11-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B30-C2" + }, + { + "lpbca": 11, + "branch": 30, + "class": 3, + "linearIndex": 2361, + "address": "0xCfB65Ca161F407891d271cC7CBC6b3e562c33856", + "cellId": "EI-L11-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B30-C3" + }, + { + "lpbca": 11, + "branch": 30, + "class": 4, + "linearIndex": 2362, + "address": "0x180c063272094ef67787943e07860BE67911D244", + "cellId": "EI-L11-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B30-C4" + }, + { + "lpbca": 11, + "branch": 30, + "class": 5, + "linearIndex": 2363, + "address": "0xe05D8E4d2C2fB5Ff31818Ad2EA59906BfdDBa23f", + "cellId": "EI-L11-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B30-C5" + }, + { + "lpbca": 11, + "branch": 31, + "class": 0, + "linearIndex": 2364, + "address": "0xFd0f88AeB37f645B76d18F5390729CA24890977E", + "cellId": "EI-L11-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B31-C0" + }, + { + "lpbca": 11, + "branch": 31, + "class": 1, + "linearIndex": 2365, + "address": "0xC6B1CFDB305Abf955ECD0C9e72389e96F97D59e2", + "cellId": "EI-L11-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B31-C1" + }, + { + "lpbca": 11, + "branch": 31, + "class": 2, + "linearIndex": 2366, + "address": "0xEb6C226d2aeAD15809de9Ed42ab3c4977F44dcb7", + "cellId": "EI-L11-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B31-C2" + }, + { + "lpbca": 11, + "branch": 31, + "class": 3, + "linearIndex": 2367, + "address": "0x84d0C28F536AeEe9c683CE4d26e79347088E2c73", + "cellId": "EI-L11-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B31-C3" + }, + { + "lpbca": 11, + "branch": 31, + "class": 4, + "linearIndex": 2368, + "address": "0x84Bb260C6D392eB89B520a572008F7c29b7F485b", + "cellId": "EI-L11-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B31-C4" + }, + { + "lpbca": 11, + "branch": 31, + "class": 5, + "linearIndex": 2369, + "address": "0x8d36Fa46652604305f439E19E7E7C5223f809a0A", + "cellId": "EI-L11-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B31-C5" + }, + { + "lpbca": 11, + "branch": 32, + "class": 0, + "linearIndex": 2370, + "address": "0xB681E1293C542823Ce53C9fB9998875d27887854", + "cellId": "EI-L11-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B32-C0" + }, + { + "lpbca": 11, + "branch": 32, + "class": 1, + "linearIndex": 2371, + "address": "0xF1fd35c4A2B8B8E9DBF784cF25358483E14A0954", + "cellId": "EI-L11-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B32-C1" + }, + { + "lpbca": 11, + "branch": 32, + "class": 2, + "linearIndex": 2372, + "address": "0xE19197f984D7e53E131f2e39876d9a2bf42DBdBb", + "cellId": "EI-L11-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B32-C2" + }, + { + "lpbca": 11, + "branch": 32, + "class": 3, + "linearIndex": 2373, + "address": "0xa5b570E3315e4668F5B54A1CEa0A88312D053d5A", + "cellId": "EI-L11-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B32-C3" + }, + { + "lpbca": 11, + "branch": 32, + "class": 4, + "linearIndex": 2374, + "address": "0xA6d2F2750cdfc5546C843E970330751B0212be08", + "cellId": "EI-L11-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B32-C4" + }, + { + "lpbca": 11, + "branch": 32, + "class": 5, + "linearIndex": 2375, + "address": "0xBa922D992046a3E2C5ABaD6E91A698e545F48C95", + "cellId": "EI-L11-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L11-B32-C5" + }, + { + "lpbca": 12, + "branch": 0, + "class": 0, + "linearIndex": 2376, + "address": "0x939C24a506d131947bE1FfBee22C58C39C2f0e64", + "cellId": "EI-L12-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B00-C0" + }, + { + "lpbca": 12, + "branch": 0, + "class": 1, + "linearIndex": 2377, + "address": "0x3B9107D70053C4564A1e8E3a211a262123Aa01BF", + "cellId": "EI-L12-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B00-C1" + }, + { + "lpbca": 12, + "branch": 0, + "class": 2, + "linearIndex": 2378, + "address": "0x68FC1B4D757954fCb1B6cB4E1050bd6c25814f12", + "cellId": "EI-L12-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B00-C2" + }, + { + "lpbca": 12, + "branch": 0, + "class": 3, + "linearIndex": 2379, + "address": "0xAaa5dE2D6f2BCF24e7330f69c74d4C504C82a672", + "cellId": "EI-L12-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B00-C3" + }, + { + "lpbca": 12, + "branch": 0, + "class": 4, + "linearIndex": 2380, + "address": "0x1c62B446029Cb22C98276C482f93dB2BedB07fD9", + "cellId": "EI-L12-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B00-C4" + }, + { + "lpbca": 12, + "branch": 0, + "class": 5, + "linearIndex": 2381, + "address": "0xdEAD7384F7D0D37b584672370436D551Bc68753b", + "cellId": "EI-L12-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B00-C5" + }, + { + "lpbca": 12, + "branch": 1, + "class": 0, + "linearIndex": 2382, + "address": "0x13D081968d6Bb31eDda211151885860c1f6cE1B8", + "cellId": "EI-L12-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B01-C0" + }, + { + "lpbca": 12, + "branch": 1, + "class": 1, + "linearIndex": 2383, + "address": "0x8aEF0F0Bd9C77882a72a1FC24bB487772Db8b82B", + "cellId": "EI-L12-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B01-C1" + }, + { + "lpbca": 12, + "branch": 1, + "class": 2, + "linearIndex": 2384, + "address": "0x1B90402557DA956fe2A9306250CefA9686209701", + "cellId": "EI-L12-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B01-C2" + }, + { + "lpbca": 12, + "branch": 1, + "class": 3, + "linearIndex": 2385, + "address": "0x44242Be9457B0A301967aa6d59e8f4d1cfb63eF2", + "cellId": "EI-L12-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B01-C3" + }, + { + "lpbca": 12, + "branch": 1, + "class": 4, + "linearIndex": 2386, + "address": "0x51FCC731f01064d2319Ff8B52Ed51CAdBd85c95F", + "cellId": "EI-L12-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B01-C4" + }, + { + "lpbca": 12, + "branch": 1, + "class": 5, + "linearIndex": 2387, + "address": "0xD61E7F62AF4D95364F536d82A41d7921C3fdEA81", + "cellId": "EI-L12-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B01-C5" + }, + { + "lpbca": 12, + "branch": 2, + "class": 0, + "linearIndex": 2388, + "address": "0xF3f001828fa81B40aAcc53d941060F1f0C10C9D5", + "cellId": "EI-L12-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B02-C0" + }, + { + "lpbca": 12, + "branch": 2, + "class": 1, + "linearIndex": 2389, + "address": "0x2e9c3FeABDaa1039B24D530Cac50E61e3677D204", + "cellId": "EI-L12-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B02-C1" + }, + { + "lpbca": 12, + "branch": 2, + "class": 2, + "linearIndex": 2390, + "address": "0xd2462D3823D42Bb6791005B3854fCD935F8c52A4", + "cellId": "EI-L12-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B02-C2" + }, + { + "lpbca": 12, + "branch": 2, + "class": 3, + "linearIndex": 2391, + "address": "0x1452ad4fc5320f894696C905E2f0885b9bADea27", + "cellId": "EI-L12-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B02-C3" + }, + { + "lpbca": 12, + "branch": 2, + "class": 4, + "linearIndex": 2392, + "address": "0xaf38F5F04B39378bf8C27fD8514758716Fe7d463", + "cellId": "EI-L12-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B02-C4" + }, + { + "lpbca": 12, + "branch": 2, + "class": 5, + "linearIndex": 2393, + "address": "0x434B2aba804ba98d55cD998e607e123e7aa4164D", + "cellId": "EI-L12-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B02-C5" + }, + { + "lpbca": 12, + "branch": 3, + "class": 0, + "linearIndex": 2394, + "address": "0xE03B7F2F6eb8Af3808Da4A53886b8e32d1732954", + "cellId": "EI-L12-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B03-C0" + }, + { + "lpbca": 12, + "branch": 3, + "class": 1, + "linearIndex": 2395, + "address": "0x866C4295532C39B2023490c3F5EbEC14b9d3aDb5", + "cellId": "EI-L12-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B03-C1" + }, + { + "lpbca": 12, + "branch": 3, + "class": 2, + "linearIndex": 2396, + "address": "0xCdeabC0DbebCA55c8093529d3E28151E152A278E", + "cellId": "EI-L12-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B03-C2" + }, + { + "lpbca": 12, + "branch": 3, + "class": 3, + "linearIndex": 2397, + "address": "0x047F8939948575E6c4B6298111Bf6a88bb5B7771", + "cellId": "EI-L12-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B03-C3" + }, + { + "lpbca": 12, + "branch": 3, + "class": 4, + "linearIndex": 2398, + "address": "0xAE135880688370dCD7C1cA922e137EFfF7AbB397", + "cellId": "EI-L12-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B03-C4" + }, + { + "lpbca": 12, + "branch": 3, + "class": 5, + "linearIndex": 2399, + "address": "0x180896500E6ED83eED928D76504a152FB82784b6", + "cellId": "EI-L12-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B03-C5" + }, + { + "lpbca": 12, + "branch": 4, + "class": 0, + "linearIndex": 2400, + "address": "0x92722937f21eab22C420a9F29692EAFd4c752054", + "cellId": "EI-L12-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B04-C0" + }, + { + "lpbca": 12, + "branch": 4, + "class": 1, + "linearIndex": 2401, + "address": "0x858De86e8aB9dBA3D35f8A894d935a321e200f9c", + "cellId": "EI-L12-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B04-C1" + }, + { + "lpbca": 12, + "branch": 4, + "class": 2, + "linearIndex": 2402, + "address": "0xB73cc220347dD35e22edACDe21d252Dcd96999E6", + "cellId": "EI-L12-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B04-C2" + }, + { + "lpbca": 12, + "branch": 4, + "class": 3, + "linearIndex": 2403, + "address": "0x075ced2fdEC516261e713e6f9837EB131AE6eE72", + "cellId": "EI-L12-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B04-C3" + }, + { + "lpbca": 12, + "branch": 4, + "class": 4, + "linearIndex": 2404, + "address": "0x42eE419dEefbA5071c225fFfd285a5a51A523aB7", + "cellId": "EI-L12-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B04-C4" + }, + { + "lpbca": 12, + "branch": 4, + "class": 5, + "linearIndex": 2405, + "address": "0xD8e9ec04808F4cF1c081d4aB4C74C87e7Ed41262", + "cellId": "EI-L12-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B04-C5" + }, + { + "lpbca": 12, + "branch": 5, + "class": 0, + "linearIndex": 2406, + "address": "0xd1b6F9d4DA38b2e367660E82A895a1C11a1D9805", + "cellId": "EI-L12-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B05-C0" + }, + { + "lpbca": 12, + "branch": 5, + "class": 1, + "linearIndex": 2407, + "address": "0x9872697dc5234F17547C25D12F88fad0b714F944", + "cellId": "EI-L12-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B05-C1" + }, + { + "lpbca": 12, + "branch": 5, + "class": 2, + "linearIndex": 2408, + "address": "0x2D2cD809d39aD49713a7deda21aB673ad18E662b", + "cellId": "EI-L12-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B05-C2" + }, + { + "lpbca": 12, + "branch": 5, + "class": 3, + "linearIndex": 2409, + "address": "0x54b3052B7a4ABcDFf968dB02bFb247Ed2B5ce0ea", + "cellId": "EI-L12-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B05-C3" + }, + { + "lpbca": 12, + "branch": 5, + "class": 4, + "linearIndex": 2410, + "address": "0xa4E76CaAd2188162476cf8c81387996de7Bb0C35", + "cellId": "EI-L12-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B05-C4" + }, + { + "lpbca": 12, + "branch": 5, + "class": 5, + "linearIndex": 2411, + "address": "0x4Fa6aCaF4008b6731317368903Ba3872781db199", + "cellId": "EI-L12-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B05-C5" + }, + { + "lpbca": 12, + "branch": 6, + "class": 0, + "linearIndex": 2412, + "address": "0xF0Ed793d563a9436cF8117EDE8FE19a82e27B2B8", + "cellId": "EI-L12-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B06-C0" + }, + { + "lpbca": 12, + "branch": 6, + "class": 1, + "linearIndex": 2413, + "address": "0x2Ff42e2cC23889d9bEf69eAD347B73c95C7a4B4D", + "cellId": "EI-L12-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B06-C1" + }, + { + "lpbca": 12, + "branch": 6, + "class": 2, + "linearIndex": 2414, + "address": "0xf6C2aF7D9Ba383Bed2fec4c048dffb1864C9e655", + "cellId": "EI-L12-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B06-C2" + }, + { + "lpbca": 12, + "branch": 6, + "class": 3, + "linearIndex": 2415, + "address": "0x3A8216A9956eBAe3411AB2967431168912dbEF69", + "cellId": "EI-L12-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B06-C3" + }, + { + "lpbca": 12, + "branch": 6, + "class": 4, + "linearIndex": 2416, + "address": "0x768177641932FC531d9d1877969c10D1d9e375f0", + "cellId": "EI-L12-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B06-C4" + }, + { + "lpbca": 12, + "branch": 6, + "class": 5, + "linearIndex": 2417, + "address": "0x2c868E49F61f2572b71deB058e3D171B6fF80C98", + "cellId": "EI-L12-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B06-C5" + }, + { + "lpbca": 12, + "branch": 7, + "class": 0, + "linearIndex": 2418, + "address": "0x0d1ac6017556aF991465Aa0E3Ea06efb6Fa2ff09", + "cellId": "EI-L12-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B07-C0" + }, + { + "lpbca": 12, + "branch": 7, + "class": 1, + "linearIndex": 2419, + "address": "0xcc24B8e0cA739D9a6407A1529129Be04F9744673", + "cellId": "EI-L12-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B07-C1" + }, + { + "lpbca": 12, + "branch": 7, + "class": 2, + "linearIndex": 2420, + "address": "0x37A80b5499d1560Df3eBeF709E93925411C07C30", + "cellId": "EI-L12-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B07-C2" + }, + { + "lpbca": 12, + "branch": 7, + "class": 3, + "linearIndex": 2421, + "address": "0x336258f56b8B2eFC35Cb27f5Dcc405B39D36A1F6", + "cellId": "EI-L12-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B07-C3" + }, + { + "lpbca": 12, + "branch": 7, + "class": 4, + "linearIndex": 2422, + "address": "0x8a84904a70089E1a9C551eDE481319ee866ba454", + "cellId": "EI-L12-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B07-C4" + }, + { + "lpbca": 12, + "branch": 7, + "class": 5, + "linearIndex": 2423, + "address": "0x4021211EE89Baa8326E05A5aB80CC83BA6fDB143", + "cellId": "EI-L12-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B07-C5" + }, + { + "lpbca": 12, + "branch": 8, + "class": 0, + "linearIndex": 2424, + "address": "0x55FbFcD7b889EE29713ee9fd58BA0C9E38A71CCA", + "cellId": "EI-L12-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B08-C0" + }, + { + "lpbca": 12, + "branch": 8, + "class": 1, + "linearIndex": 2425, + "address": "0xF640CDd24E071d315a3205de52eaac9AeBe69579", + "cellId": "EI-L12-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B08-C1" + }, + { + "lpbca": 12, + "branch": 8, + "class": 2, + "linearIndex": 2426, + "address": "0xe697E8704D05b2b052e26e420720EdAd41411210", + "cellId": "EI-L12-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B08-C2" + }, + { + "lpbca": 12, + "branch": 8, + "class": 3, + "linearIndex": 2427, + "address": "0x42B7A12eA71850ea389bCA7f911f0ffF3a223513", + "cellId": "EI-L12-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B08-C3" + }, + { + "lpbca": 12, + "branch": 8, + "class": 4, + "linearIndex": 2428, + "address": "0x3AfA1b47a37aC56E3b50bE6fAb5b3B0978Dd734A", + "cellId": "EI-L12-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B08-C4" + }, + { + "lpbca": 12, + "branch": 8, + "class": 5, + "linearIndex": 2429, + "address": "0x0d221F3F4F51F919Ea67a5188081c77F7FD7eE87", + "cellId": "EI-L12-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B08-C5" + }, + { + "lpbca": 12, + "branch": 9, + "class": 0, + "linearIndex": 2430, + "address": "0x054CDfb7a6E9D72dC0BF6311b60d05302bc5be11", + "cellId": "EI-L12-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B09-C0" + }, + { + "lpbca": 12, + "branch": 9, + "class": 1, + "linearIndex": 2431, + "address": "0x61CA963249097D5335Aa0a18186804FC09cB4A4B", + "cellId": "EI-L12-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B09-C1" + }, + { + "lpbca": 12, + "branch": 9, + "class": 2, + "linearIndex": 2432, + "address": "0x87c54301B110782bdbb73304F763597f5D6EeB49", + "cellId": "EI-L12-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B09-C2" + }, + { + "lpbca": 12, + "branch": 9, + "class": 3, + "linearIndex": 2433, + "address": "0x4d35AE60e83a1811bD7d9D761D7f743b44437F04", + "cellId": "EI-L12-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B09-C3" + }, + { + "lpbca": 12, + "branch": 9, + "class": 4, + "linearIndex": 2434, + "address": "0x24e812c5Af293A2C9f7B8E256c7Ff2829e0a16fa", + "cellId": "EI-L12-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B09-C4" + }, + { + "lpbca": 12, + "branch": 9, + "class": 5, + "linearIndex": 2435, + "address": "0x8110E01C321433591aA04fE2Be227147154B585c", + "cellId": "EI-L12-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B09-C5" + }, + { + "lpbca": 12, + "branch": 10, + "class": 0, + "linearIndex": 2436, + "address": "0x6FB99b00CC51e530cd11980f1D53A4f0e200E87b", + "cellId": "EI-L12-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B10-C0" + }, + { + "lpbca": 12, + "branch": 10, + "class": 1, + "linearIndex": 2437, + "address": "0xbB22C7A6d7bE67315B9cEc33048E95266F806D7D", + "cellId": "EI-L12-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B10-C1" + }, + { + "lpbca": 12, + "branch": 10, + "class": 2, + "linearIndex": 2438, + "address": "0x150fafa1C5814e462F3628635C41aF30bbf3E91d", + "cellId": "EI-L12-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B10-C2" + }, + { + "lpbca": 12, + "branch": 10, + "class": 3, + "linearIndex": 2439, + "address": "0xD1bb18b3cD522533ED753A8ed33E5308a37beC8F", + "cellId": "EI-L12-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B10-C3" + }, + { + "lpbca": 12, + "branch": 10, + "class": 4, + "linearIndex": 2440, + "address": "0x701438f208794e87E43e56fA2e171b7F4705E22B", + "cellId": "EI-L12-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B10-C4" + }, + { + "lpbca": 12, + "branch": 10, + "class": 5, + "linearIndex": 2441, + "address": "0x50942134Cfa1b7f594f62CDbd74ceC3BA0e8387B", + "cellId": "EI-L12-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B10-C5" + }, + { + "lpbca": 12, + "branch": 11, + "class": 0, + "linearIndex": 2442, + "address": "0xf20A0f0bdD3e004687B18fFa6b3941de3eB3D534", + "cellId": "EI-L12-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B11-C0" + }, + { + "lpbca": 12, + "branch": 11, + "class": 1, + "linearIndex": 2443, + "address": "0x8A3fDBf2a374dc16F2a7835A0fF2B710e7e7Cdcc", + "cellId": "EI-L12-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B11-C1" + }, + { + "lpbca": 12, + "branch": 11, + "class": 2, + "linearIndex": 2444, + "address": "0x0ef9C1Ec25569ad24022D7D23527f6EdBb17BCE4", + "cellId": "EI-L12-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B11-C2" + }, + { + "lpbca": 12, + "branch": 11, + "class": 3, + "linearIndex": 2445, + "address": "0xA05eEe7A88EB75e01d6690BfCC707EEBdeB0bFc1", + "cellId": "EI-L12-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B11-C3" + }, + { + "lpbca": 12, + "branch": 11, + "class": 4, + "linearIndex": 2446, + "address": "0x817FB30519afb0eC197a00FC21E1E1bF2e5cBDC2", + "cellId": "EI-L12-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B11-C4" + }, + { + "lpbca": 12, + "branch": 11, + "class": 5, + "linearIndex": 2447, + "address": "0x84CEAc8130b97AB60D31A29612A0baf8aDE4594F", + "cellId": "EI-L12-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B11-C5" + }, + { + "lpbca": 12, + "branch": 12, + "class": 0, + "linearIndex": 2448, + "address": "0x880Fa7787dcd0d235106523FDc6C2b9ef748105a", + "cellId": "EI-L12-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B12-C0" + }, + { + "lpbca": 12, + "branch": 12, + "class": 1, + "linearIndex": 2449, + "address": "0xb537b24236e4f7B82d62ee16705f66E1ec036ec8", + "cellId": "EI-L12-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B12-C1" + }, + { + "lpbca": 12, + "branch": 12, + "class": 2, + "linearIndex": 2450, + "address": "0x45CEf1B2C670c5316f32C13E1ae6978304FadCaC", + "cellId": "EI-L12-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B12-C2" + }, + { + "lpbca": 12, + "branch": 12, + "class": 3, + "linearIndex": 2451, + "address": "0x38EC9022D730E4cF9d9c2144CA23EaD24701B6BE", + "cellId": "EI-L12-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B12-C3" + }, + { + "lpbca": 12, + "branch": 12, + "class": 4, + "linearIndex": 2452, + "address": "0x1Ae618Bda4F06762Ddf3E8943a581ba0048dc25e", + "cellId": "EI-L12-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B12-C4" + }, + { + "lpbca": 12, + "branch": 12, + "class": 5, + "linearIndex": 2453, + "address": "0x5eFBbD7caF9aAf92Ab6BFfa68f4985a8dD1a12e8", + "cellId": "EI-L12-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B12-C5" + }, + { + "lpbca": 12, + "branch": 13, + "class": 0, + "linearIndex": 2454, + "address": "0x23Ab56b2f75224148076E192c2000120154a18bc", + "cellId": "EI-L12-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B13-C0" + }, + { + "lpbca": 12, + "branch": 13, + "class": 1, + "linearIndex": 2455, + "address": "0x06f2Ef35cBD03CbDDE5dd929fA3A44453B7C206f", + "cellId": "EI-L12-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B13-C1" + }, + { + "lpbca": 12, + "branch": 13, + "class": 2, + "linearIndex": 2456, + "address": "0x333b1427D06FEaAB32CECCdD048777ADe6a12456", + "cellId": "EI-L12-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B13-C2" + }, + { + "lpbca": 12, + "branch": 13, + "class": 3, + "linearIndex": 2457, + "address": "0x2b87338503F067Cef7A1c7F00F7c4DeA353bb822", + "cellId": "EI-L12-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B13-C3" + }, + { + "lpbca": 12, + "branch": 13, + "class": 4, + "linearIndex": 2458, + "address": "0xb27E56099BA4054A26B2F7DADB270D304a3D2F55", + "cellId": "EI-L12-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B13-C4" + }, + { + "lpbca": 12, + "branch": 13, + "class": 5, + "linearIndex": 2459, + "address": "0x718393aB3a170B2A327Dc686982BD9d758a96485", + "cellId": "EI-L12-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B13-C5" + }, + { + "lpbca": 12, + "branch": 14, + "class": 0, + "linearIndex": 2460, + "address": "0x3507ABc5fE86e4a19E6c44700Ae2225E2296222d", + "cellId": "EI-L12-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B14-C0" + }, + { + "lpbca": 12, + "branch": 14, + "class": 1, + "linearIndex": 2461, + "address": "0x37345Ea5406bBfbdb95D44aECe591aB1fEA10673", + "cellId": "EI-L12-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B14-C1" + }, + { + "lpbca": 12, + "branch": 14, + "class": 2, + "linearIndex": 2462, + "address": "0xE527C5601B7F08689b12c8B0c5951Db63ae3F9F6", + "cellId": "EI-L12-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B14-C2" + }, + { + "lpbca": 12, + "branch": 14, + "class": 3, + "linearIndex": 2463, + "address": "0x65afcDDe107C3452765EE7C90dfDc3D57A3068DB", + "cellId": "EI-L12-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B14-C3" + }, + { + "lpbca": 12, + "branch": 14, + "class": 4, + "linearIndex": 2464, + "address": "0xdd9d8aE577adc58AEf7DfA58401F327C1b19ca87", + "cellId": "EI-L12-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B14-C4" + }, + { + "lpbca": 12, + "branch": 14, + "class": 5, + "linearIndex": 2465, + "address": "0x6Ec9E6a69Fc4C96Dfd6cbF1933122528F2b9b515", + "cellId": "EI-L12-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B14-C5" + }, + { + "lpbca": 12, + "branch": 15, + "class": 0, + "linearIndex": 2466, + "address": "0x7C02526dD631229c234dC4Cc29D7cD90f3361EC0", + "cellId": "EI-L12-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B15-C0" + }, + { + "lpbca": 12, + "branch": 15, + "class": 1, + "linearIndex": 2467, + "address": "0xa70CbeeA3329fcEEb53052c576ad71e0dC4CF198", + "cellId": "EI-L12-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B15-C1" + }, + { + "lpbca": 12, + "branch": 15, + "class": 2, + "linearIndex": 2468, + "address": "0x5ea75D813317264d8fa710AC386Fc56F24B160DB", + "cellId": "EI-L12-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B15-C2" + }, + { + "lpbca": 12, + "branch": 15, + "class": 3, + "linearIndex": 2469, + "address": "0x4A738d1Df7dad280A5346d8aa9A7eeBE38cAb8B9", + "cellId": "EI-L12-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B15-C3" + }, + { + "lpbca": 12, + "branch": 15, + "class": 4, + "linearIndex": 2470, + "address": "0x2BA36a27CfBe517a106DCec4c3Dc7f741C1895E5", + "cellId": "EI-L12-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B15-C4" + }, + { + "lpbca": 12, + "branch": 15, + "class": 5, + "linearIndex": 2471, + "address": "0xBF723eDd4Bd6E9e8dA53f4eAEDceA8Df0E9f3Fb0", + "cellId": "EI-L12-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B15-C5" + }, + { + "lpbca": 12, + "branch": 16, + "class": 0, + "linearIndex": 2472, + "address": "0x41d79B4E98393E173ac1bAC8A4F2004cB61f380C", + "cellId": "EI-L12-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B16-C0" + }, + { + "lpbca": 12, + "branch": 16, + "class": 1, + "linearIndex": 2473, + "address": "0xb86b9d204A5b5E2af80536A720ec4dB437D1b3CB", + "cellId": "EI-L12-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B16-C1" + }, + { + "lpbca": 12, + "branch": 16, + "class": 2, + "linearIndex": 2474, + "address": "0xdA0bA9C39453ca131a01D7BeFf3e6F0bCC5E5E64", + "cellId": "EI-L12-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B16-C2" + }, + { + "lpbca": 12, + "branch": 16, + "class": 3, + "linearIndex": 2475, + "address": "0xA56aa38658688cD1F6075aF32dFc19Ae77D46157", + "cellId": "EI-L12-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B16-C3" + }, + { + "lpbca": 12, + "branch": 16, + "class": 4, + "linearIndex": 2476, + "address": "0x7988eE306237c85E7D64416E415BA3A446F51F66", + "cellId": "EI-L12-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B16-C4" + }, + { + "lpbca": 12, + "branch": 16, + "class": 5, + "linearIndex": 2477, + "address": "0x88652Dda1fFd73f475999C8b55d813aA71D8B399", + "cellId": "EI-L12-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B16-C5" + }, + { + "lpbca": 12, + "branch": 17, + "class": 0, + "linearIndex": 2478, + "address": "0xedBf64A1C6AcBa2C798B30089b434C3963f7366E", + "cellId": "EI-L12-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B17-C0" + }, + { + "lpbca": 12, + "branch": 17, + "class": 1, + "linearIndex": 2479, + "address": "0xEC1a40119b068d4466897943C0BeA0C51630a204", + "cellId": "EI-L12-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B17-C1" + }, + { + "lpbca": 12, + "branch": 17, + "class": 2, + "linearIndex": 2480, + "address": "0x4f5Da348a39D16be094842a92ebD971bC784B4d4", + "cellId": "EI-L12-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B17-C2" + }, + { + "lpbca": 12, + "branch": 17, + "class": 3, + "linearIndex": 2481, + "address": "0xce15A2A42BB7BE12e323b31Dd14De7F4fA0FeCFf", + "cellId": "EI-L12-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B17-C3" + }, + { + "lpbca": 12, + "branch": 17, + "class": 4, + "linearIndex": 2482, + "address": "0x40508836b26742c2c6CC014513f27c9522EF06E9", + "cellId": "EI-L12-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B17-C4" + }, + { + "lpbca": 12, + "branch": 17, + "class": 5, + "linearIndex": 2483, + "address": "0x1A3f91359BFD1A3170bC116d761b0f4ab04418A8", + "cellId": "EI-L12-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B17-C5" + }, + { + "lpbca": 12, + "branch": 18, + "class": 0, + "linearIndex": 2484, + "address": "0x107C3E6E242552E2228B7887BD8e6959f22Dea4e", + "cellId": "EI-L12-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B18-C0" + }, + { + "lpbca": 12, + "branch": 18, + "class": 1, + "linearIndex": 2485, + "address": "0x58756F1ba1d84CDFdF20697E117A4A04C026D9Bd", + "cellId": "EI-L12-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B18-C1" + }, + { + "lpbca": 12, + "branch": 18, + "class": 2, + "linearIndex": 2486, + "address": "0xd3EBefa2aC376906B7ee32830deEC3FB396ed408", + "cellId": "EI-L12-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B18-C2" + }, + { + "lpbca": 12, + "branch": 18, + "class": 3, + "linearIndex": 2487, + "address": "0x86D8A451BC3fa2d36782EcaA90f8385B7E53526B", + "cellId": "EI-L12-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B18-C3" + }, + { + "lpbca": 12, + "branch": 18, + "class": 4, + "linearIndex": 2488, + "address": "0xeC2f4eAe66122D7cBE7Af1241ae046286dCe3378", + "cellId": "EI-L12-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B18-C4" + }, + { + "lpbca": 12, + "branch": 18, + "class": 5, + "linearIndex": 2489, + "address": "0x6bce790680A535507767e6bD55b2D7025B7BD9a0", + "cellId": "EI-L12-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B18-C5" + }, + { + "lpbca": 12, + "branch": 19, + "class": 0, + "linearIndex": 2490, + "address": "0xCaE0b687ed275a34B9409100C47A2417693974Ea", + "cellId": "EI-L12-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B19-C0" + }, + { + "lpbca": 12, + "branch": 19, + "class": 1, + "linearIndex": 2491, + "address": "0xB0bA5BF1640A8EaE7982a99E262437eD4c1C26F0", + "cellId": "EI-L12-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B19-C1" + }, + { + "lpbca": 12, + "branch": 19, + "class": 2, + "linearIndex": 2492, + "address": "0xc75EF04548a8F3d36557fbe54535a2a7954Db8Ec", + "cellId": "EI-L12-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B19-C2" + }, + { + "lpbca": 12, + "branch": 19, + "class": 3, + "linearIndex": 2493, + "address": "0x537B4EB2Afcd7e233B0A1233729E2b55baFDC4C6", + "cellId": "EI-L12-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B19-C3" + }, + { + "lpbca": 12, + "branch": 19, + "class": 4, + "linearIndex": 2494, + "address": "0xc91Cf7904e0337926289D0CCE02339a533B992Ca", + "cellId": "EI-L12-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B19-C4" + }, + { + "lpbca": 12, + "branch": 19, + "class": 5, + "linearIndex": 2495, + "address": "0xaCf68b01B493a82b5ff341448c1c62137E5B573f", + "cellId": "EI-L12-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B19-C5" + }, + { + "lpbca": 12, + "branch": 20, + "class": 0, + "linearIndex": 2496, + "address": "0x124666f0A040367A7463b98fe177084183FAf48A", + "cellId": "EI-L12-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B20-C0" + }, + { + "lpbca": 12, + "branch": 20, + "class": 1, + "linearIndex": 2497, + "address": "0x2bEA02D2Fd72CcF0e34e41798DDCdc137a270551", + "cellId": "EI-L12-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B20-C1" + }, + { + "lpbca": 12, + "branch": 20, + "class": 2, + "linearIndex": 2498, + "address": "0x63d70fA550562810bAAC73F205582C3c74ACa303", + "cellId": "EI-L12-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B20-C2" + }, + { + "lpbca": 12, + "branch": 20, + "class": 3, + "linearIndex": 2499, + "address": "0x18Ea1b3C2b43dD92e3DbcD33CB03A8d0055127EC", + "cellId": "EI-L12-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B20-C3" + }, + { + "lpbca": 12, + "branch": 20, + "class": 4, + "linearIndex": 2500, + "address": "0x36f253c3Fc5aa3dcfB42F461a8b8735688991585", + "cellId": "EI-L12-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B20-C4" + }, + { + "lpbca": 12, + "branch": 20, + "class": 5, + "linearIndex": 2501, + "address": "0x251190E49D005e53368cE4BCb91BC765F21900ed", + "cellId": "EI-L12-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B20-C5" + }, + { + "lpbca": 12, + "branch": 21, + "class": 0, + "linearIndex": 2502, + "address": "0x62Bc05cE69C8A54E0d6B764B98f0E18A686E78dF", + "cellId": "EI-L12-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B21-C0" + }, + { + "lpbca": 12, + "branch": 21, + "class": 1, + "linearIndex": 2503, + "address": "0xda3CB2112c804f6543B5B0DC50F619186FD33DA8", + "cellId": "EI-L12-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B21-C1" + }, + { + "lpbca": 12, + "branch": 21, + "class": 2, + "linearIndex": 2504, + "address": "0x6A8A5abb37f3b25bA4c166fcA92B9BED297cF8DD", + "cellId": "EI-L12-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B21-C2" + }, + { + "lpbca": 12, + "branch": 21, + "class": 3, + "linearIndex": 2505, + "address": "0x6D6b53E5d7981AC505595F62dB31e76A2339ef65", + "cellId": "EI-L12-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B21-C3" + }, + { + "lpbca": 12, + "branch": 21, + "class": 4, + "linearIndex": 2506, + "address": "0xaBAC1d9d54c4E6FB2369cf0027B1321085fC25b8", + "cellId": "EI-L12-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B21-C4" + }, + { + "lpbca": 12, + "branch": 21, + "class": 5, + "linearIndex": 2507, + "address": "0x585a2FF97879c0f5Ee5B7e2FA231029b89fFb004", + "cellId": "EI-L12-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B21-C5" + }, + { + "lpbca": 12, + "branch": 22, + "class": 0, + "linearIndex": 2508, + "address": "0x1a2E6C66e919631D5f7E02ABCcB3c7C2d5479719", + "cellId": "EI-L12-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B22-C0" + }, + { + "lpbca": 12, + "branch": 22, + "class": 1, + "linearIndex": 2509, + "address": "0xf46dEb8D12CCe7C52cAB48a94BE77E451A1672B0", + "cellId": "EI-L12-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B22-C1" + }, + { + "lpbca": 12, + "branch": 22, + "class": 2, + "linearIndex": 2510, + "address": "0x832EB1AEb8d42AF5BD891223187AC937C2A2fEA3", + "cellId": "EI-L12-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B22-C2" + }, + { + "lpbca": 12, + "branch": 22, + "class": 3, + "linearIndex": 2511, + "address": "0x085868735863ec27c206371B282ddc64C8CC6814", + "cellId": "EI-L12-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B22-C3" + }, + { + "lpbca": 12, + "branch": 22, + "class": 4, + "linearIndex": 2512, + "address": "0xAFCE0088AaD2b7A5C02858Fa7B9831b281ce43b2", + "cellId": "EI-L12-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B22-C4" + }, + { + "lpbca": 12, + "branch": 22, + "class": 5, + "linearIndex": 2513, + "address": "0x8B528C8DD99b844252eC18E45799e0d32926cE1E", + "cellId": "EI-L12-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B22-C5" + }, + { + "lpbca": 12, + "branch": 23, + "class": 0, + "linearIndex": 2514, + "address": "0xB510b26b82BA06cb4C654307f9CE0729531225f0", + "cellId": "EI-L12-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B23-C0" + }, + { + "lpbca": 12, + "branch": 23, + "class": 1, + "linearIndex": 2515, + "address": "0xcCD043f036d7D043DB4752757670d539b1DB6a5B", + "cellId": "EI-L12-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B23-C1" + }, + { + "lpbca": 12, + "branch": 23, + "class": 2, + "linearIndex": 2516, + "address": "0x6666a88a14D4ec852189547d68E307bf82Ea98d8", + "cellId": "EI-L12-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B23-C2" + }, + { + "lpbca": 12, + "branch": 23, + "class": 3, + "linearIndex": 2517, + "address": "0x136a9CD653Cf87A996385D3Af9F6Ef6ce9Ddefd7", + "cellId": "EI-L12-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B23-C3" + }, + { + "lpbca": 12, + "branch": 23, + "class": 4, + "linearIndex": 2518, + "address": "0xd4e3F5EA3143c4736ac356769C79bB9D3E40c176", + "cellId": "EI-L12-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B23-C4" + }, + { + "lpbca": 12, + "branch": 23, + "class": 5, + "linearIndex": 2519, + "address": "0xdb19f831e7bc65C884A792942c1314C2DeB403CD", + "cellId": "EI-L12-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B23-C5" + }, + { + "lpbca": 12, + "branch": 24, + "class": 0, + "linearIndex": 2520, + "address": "0xAD51d8cB9eA79349619ED614bE5ce2C0BAB64171", + "cellId": "EI-L12-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B24-C0" + }, + { + "lpbca": 12, + "branch": 24, + "class": 1, + "linearIndex": 2521, + "address": "0xf31dc84cEd5d43c61a8038ccC660D6B8F5E2Fe09", + "cellId": "EI-L12-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B24-C1" + }, + { + "lpbca": 12, + "branch": 24, + "class": 2, + "linearIndex": 2522, + "address": "0x667050E5D36474ff32930e989Cec2B7Aa6Ab489C", + "cellId": "EI-L12-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B24-C2" + }, + { + "lpbca": 12, + "branch": 24, + "class": 3, + "linearIndex": 2523, + "address": "0x0044Fc419eEDBFFef881040d05A3d8e9e8C8ef34", + "cellId": "EI-L12-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B24-C3" + }, + { + "lpbca": 12, + "branch": 24, + "class": 4, + "linearIndex": 2524, + "address": "0x7Af7daa1467Ba920B6005Dc035C580294B442a9a", + "cellId": "EI-L12-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B24-C4" + }, + { + "lpbca": 12, + "branch": 24, + "class": 5, + "linearIndex": 2525, + "address": "0xdfE712A3099E948E928a88d22De7B9eFC2a5B1aa", + "cellId": "EI-L12-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B24-C5" + }, + { + "lpbca": 12, + "branch": 25, + "class": 0, + "linearIndex": 2526, + "address": "0x4C31669073382B634ECf3C4c848E35c007653Da3", + "cellId": "EI-L12-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B25-C0" + }, + { + "lpbca": 12, + "branch": 25, + "class": 1, + "linearIndex": 2527, + "address": "0xEeF655fFFB837c7211AE7025f25f0E270974cd0F", + "cellId": "EI-L12-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B25-C1" + }, + { + "lpbca": 12, + "branch": 25, + "class": 2, + "linearIndex": 2528, + "address": "0xEAA0e9BDEe336B0311F74A3f370818fCA08C0209", + "cellId": "EI-L12-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B25-C2" + }, + { + "lpbca": 12, + "branch": 25, + "class": 3, + "linearIndex": 2529, + "address": "0x95efdf6757cAa6a48434BC75a057a4347d9626d7", + "cellId": "EI-L12-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B25-C3" + }, + { + "lpbca": 12, + "branch": 25, + "class": 4, + "linearIndex": 2530, + "address": "0xed2Ea0bd728eb87e121f744328e4B16c01182853", + "cellId": "EI-L12-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B25-C4" + }, + { + "lpbca": 12, + "branch": 25, + "class": 5, + "linearIndex": 2531, + "address": "0xE4AaBc1b067a880E9e0Df20BD8476F426A52a2A9", + "cellId": "EI-L12-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B25-C5" + }, + { + "lpbca": 12, + "branch": 26, + "class": 0, + "linearIndex": 2532, + "address": "0x565168d05f949367d5ac658209037c40384749C3", + "cellId": "EI-L12-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B26-C0" + }, + { + "lpbca": 12, + "branch": 26, + "class": 1, + "linearIndex": 2533, + "address": "0xf7a83a0f49E4773e12b179A287d1ec4C74c643A8", + "cellId": "EI-L12-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B26-C1" + }, + { + "lpbca": 12, + "branch": 26, + "class": 2, + "linearIndex": 2534, + "address": "0x75Bd74965a5A11c518F2DD00D2D32719454BE590", + "cellId": "EI-L12-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B26-C2" + }, + { + "lpbca": 12, + "branch": 26, + "class": 3, + "linearIndex": 2535, + "address": "0x93c6BAC5423059A90B87B2360Cd82a972ECaC5c5", + "cellId": "EI-L12-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B26-C3" + }, + { + "lpbca": 12, + "branch": 26, + "class": 4, + "linearIndex": 2536, + "address": "0x46f4371e458B851C6A94830ff37F532d63e7C74C", + "cellId": "EI-L12-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B26-C4" + }, + { + "lpbca": 12, + "branch": 26, + "class": 5, + "linearIndex": 2537, + "address": "0x72890932BeD8e10FF7b1C6628Da7092d04A09e80", + "cellId": "EI-L12-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B26-C5" + }, + { + "lpbca": 12, + "branch": 27, + "class": 0, + "linearIndex": 2538, + "address": "0x8Fc0D6A139A892829939186A3d33263275B75221", + "cellId": "EI-L12-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B27-C0" + }, + { + "lpbca": 12, + "branch": 27, + "class": 1, + "linearIndex": 2539, + "address": "0x26eAF4E307AF2E3831fa1E24ce6Efc6b57989617", + "cellId": "EI-L12-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B27-C1" + }, + { + "lpbca": 12, + "branch": 27, + "class": 2, + "linearIndex": 2540, + "address": "0x4B4ab4772D011886aBB75695Bd3Ef317780bE3b9", + "cellId": "EI-L12-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B27-C2" + }, + { + "lpbca": 12, + "branch": 27, + "class": 3, + "linearIndex": 2541, + "address": "0x6fDBd293a5A437c79f2C210DE937165F488B4946", + "cellId": "EI-L12-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B27-C3" + }, + { + "lpbca": 12, + "branch": 27, + "class": 4, + "linearIndex": 2542, + "address": "0xbe2Ed49e5F92b8d06c8eE5F5Ac7dCbaEef5880D0", + "cellId": "EI-L12-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B27-C4" + }, + { + "lpbca": 12, + "branch": 27, + "class": 5, + "linearIndex": 2543, + "address": "0x20dd64Af8Db16274E0aba916F937A3e094Cdf435", + "cellId": "EI-L12-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B27-C5" + }, + { + "lpbca": 12, + "branch": 28, + "class": 0, + "linearIndex": 2544, + "address": "0xDF1D8747D2A1cAdda9E265FD2E44a1088d513839", + "cellId": "EI-L12-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B28-C0" + }, + { + "lpbca": 12, + "branch": 28, + "class": 1, + "linearIndex": 2545, + "address": "0x5C52e598400cFEc72796277484258118655dc4d4", + "cellId": "EI-L12-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B28-C1" + }, + { + "lpbca": 12, + "branch": 28, + "class": 2, + "linearIndex": 2546, + "address": "0xEDea4dA991ecBc8BcC69FBE0D53596f1F0b60A7a", + "cellId": "EI-L12-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B28-C2" + }, + { + "lpbca": 12, + "branch": 28, + "class": 3, + "linearIndex": 2547, + "address": "0x12A9C62e71fBcEd4370dD52f9aD13527Cc2ED5c9", + "cellId": "EI-L12-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B28-C3" + }, + { + "lpbca": 12, + "branch": 28, + "class": 4, + "linearIndex": 2548, + "address": "0x56ebc904f6b7F555b92aaFF2F20A32075a66aDCe", + "cellId": "EI-L12-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B28-C4" + }, + { + "lpbca": 12, + "branch": 28, + "class": 5, + "linearIndex": 2549, + "address": "0x7abEa3CD040e5ADB62998D4208915AC0c963DB0b", + "cellId": "EI-L12-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B28-C5" + }, + { + "lpbca": 12, + "branch": 29, + "class": 0, + "linearIndex": 2550, + "address": "0x54C420365be47af5ca05e3C6F57B8EC86e18B6E9", + "cellId": "EI-L12-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B29-C0" + }, + { + "lpbca": 12, + "branch": 29, + "class": 1, + "linearIndex": 2551, + "address": "0x45F8e41f4a608D442b6a2E7a70c69c8e73cC766d", + "cellId": "EI-L12-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B29-C1" + }, + { + "lpbca": 12, + "branch": 29, + "class": 2, + "linearIndex": 2552, + "address": "0xd553E6A0C98D027E81F8650f39F85978e423509e", + "cellId": "EI-L12-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B29-C2" + }, + { + "lpbca": 12, + "branch": 29, + "class": 3, + "linearIndex": 2553, + "address": "0xaF2C9583E8FD9Ed0cF51Fe59dEF8a429713342c5", + "cellId": "EI-L12-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B29-C3" + }, + { + "lpbca": 12, + "branch": 29, + "class": 4, + "linearIndex": 2554, + "address": "0xCEEAf1d013c91680fA9bdA2Cdccd184C5741f1E5", + "cellId": "EI-L12-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B29-C4" + }, + { + "lpbca": 12, + "branch": 29, + "class": 5, + "linearIndex": 2555, + "address": "0xe46e1e172ACcf030fA7F81410A5c50370Fd1D50a", + "cellId": "EI-L12-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B29-C5" + }, + { + "lpbca": 12, + "branch": 30, + "class": 0, + "linearIndex": 2556, + "address": "0x9B76e8a6036d8b8e3512149c32df0B548843bFf2", + "cellId": "EI-L12-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B30-C0" + }, + { + "lpbca": 12, + "branch": 30, + "class": 1, + "linearIndex": 2557, + "address": "0x7320a90388776D7aD9A7863aCFC42198C32E76E0", + "cellId": "EI-L12-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B30-C1" + }, + { + "lpbca": 12, + "branch": 30, + "class": 2, + "linearIndex": 2558, + "address": "0x53cD51fF55F80d16d98A5488AA05080BCEDa52CC", + "cellId": "EI-L12-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B30-C2" + }, + { + "lpbca": 12, + "branch": 30, + "class": 3, + "linearIndex": 2559, + "address": "0x798ce35b154eA0462210B6B0Bf8994e40Ad8bd15", + "cellId": "EI-L12-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B30-C3" + }, + { + "lpbca": 12, + "branch": 30, + "class": 4, + "linearIndex": 2560, + "address": "0x1296a6e322c4DE94073B0Fc71f616981B7089Bd6", + "cellId": "EI-L12-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B30-C4" + }, + { + "lpbca": 12, + "branch": 30, + "class": 5, + "linearIndex": 2561, + "address": "0x9a668eDDD2dBE6F9A72E5bc14c469152b919131f", + "cellId": "EI-L12-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B30-C5" + }, + { + "lpbca": 12, + "branch": 31, + "class": 0, + "linearIndex": 2562, + "address": "0xaA3ecABcE4758BD508f9a9795B19693E0c157CF4", + "cellId": "EI-L12-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B31-C0" + }, + { + "lpbca": 12, + "branch": 31, + "class": 1, + "linearIndex": 2563, + "address": "0xB0Fd5b8FbE6f047477f525539Fc4B2Bc05cb7bfA", + "cellId": "EI-L12-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B31-C1" + }, + { + "lpbca": 12, + "branch": 31, + "class": 2, + "linearIndex": 2564, + "address": "0x280D3b9593f8304ED1a0c6e828547f7315cbe6a3", + "cellId": "EI-L12-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B31-C2" + }, + { + "lpbca": 12, + "branch": 31, + "class": 3, + "linearIndex": 2565, + "address": "0x1DDa2020dA61bcecdb46354d03AD294B3f1cF958", + "cellId": "EI-L12-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B31-C3" + }, + { + "lpbca": 12, + "branch": 31, + "class": 4, + "linearIndex": 2566, + "address": "0x001CDB34A67052C5A7A01b04AD7Cb63eB5d6819f", + "cellId": "EI-L12-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B31-C4" + }, + { + "lpbca": 12, + "branch": 31, + "class": 5, + "linearIndex": 2567, + "address": "0x49074CE704a5501E580c58014B1750cE453b09a9", + "cellId": "EI-L12-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B31-C5" + }, + { + "lpbca": 12, + "branch": 32, + "class": 0, + "linearIndex": 2568, + "address": "0xF5D11e7048ce8C29c17c5E6e37f7D9682d8C665A", + "cellId": "EI-L12-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B32-C0" + }, + { + "lpbca": 12, + "branch": 32, + "class": 1, + "linearIndex": 2569, + "address": "0x2Fc28443972c9Ec44491bD185341434a92810436", + "cellId": "EI-L12-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B32-C1" + }, + { + "lpbca": 12, + "branch": 32, + "class": 2, + "linearIndex": 2570, + "address": "0x70345346c5A8c2B2476A4d866673c6634219b868", + "cellId": "EI-L12-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B32-C2" + }, + { + "lpbca": 12, + "branch": 32, + "class": 3, + "linearIndex": 2571, + "address": "0x44455236e4dc91c4F29D8fAf2238E0B113900f3C", + "cellId": "EI-L12-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B32-C3" + }, + { + "lpbca": 12, + "branch": 32, + "class": 4, + "linearIndex": 2572, + "address": "0x27dfA55e5934587401B6917e59bEA8e3aBb6011B", + "cellId": "EI-L12-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B32-C4" + }, + { + "lpbca": 12, + "branch": 32, + "class": 5, + "linearIndex": 2573, + "address": "0xf206a2A588405A3570D0b573e8502409Bc0F8E05", + "cellId": "EI-L12-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L12-B32-C5" + }, + { + "lpbca": 13, + "branch": 0, + "class": 0, + "linearIndex": 2574, + "address": "0x02c5aDddc42B5bcbDda2d9E151d7BE6e7b8AF16e", + "cellId": "EI-L13-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B00-C0" + }, + { + "lpbca": 13, + "branch": 0, + "class": 1, + "linearIndex": 2575, + "address": "0x22dEe3b2a803d5D92c99860faDA9852Be4dBA820", + "cellId": "EI-L13-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B00-C1" + }, + { + "lpbca": 13, + "branch": 0, + "class": 2, + "linearIndex": 2576, + "address": "0xa7D6D103e195774478fDaa8c7dE86b097Fcf764e", + "cellId": "EI-L13-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B00-C2" + }, + { + "lpbca": 13, + "branch": 0, + "class": 3, + "linearIndex": 2577, + "address": "0xdE23Ca4fE4CFC47E1C96CA5de5F6982091992474", + "cellId": "EI-L13-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B00-C3" + }, + { + "lpbca": 13, + "branch": 0, + "class": 4, + "linearIndex": 2578, + "address": "0x33bA5057Ee487B9897B7B3dFfc6B03346EDeFB98", + "cellId": "EI-L13-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B00-C4" + }, + { + "lpbca": 13, + "branch": 0, + "class": 5, + "linearIndex": 2579, + "address": "0xE2a58c3C1Bb72B8b4B41ba11E94D1E1B346f03A3", + "cellId": "EI-L13-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B00-C5" + }, + { + "lpbca": 13, + "branch": 1, + "class": 0, + "linearIndex": 2580, + "address": "0xBAF3d18e82d7d2C79C6583C94a44FCc3750e804f", + "cellId": "EI-L13-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B01-C0" + }, + { + "lpbca": 13, + "branch": 1, + "class": 1, + "linearIndex": 2581, + "address": "0x7dA57a6303E80434EeF52FA42532030A6961790e", + "cellId": "EI-L13-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B01-C1" + }, + { + "lpbca": 13, + "branch": 1, + "class": 2, + "linearIndex": 2582, + "address": "0x2Ee133D16688691C09e9C6EFC6b52f9E7afD1f7C", + "cellId": "EI-L13-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B01-C2" + }, + { + "lpbca": 13, + "branch": 1, + "class": 3, + "linearIndex": 2583, + "address": "0x67f5eCCf06A8b945CA7A600D611840AFabdCa8eA", + "cellId": "EI-L13-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B01-C3" + }, + { + "lpbca": 13, + "branch": 1, + "class": 4, + "linearIndex": 2584, + "address": "0x40222ac6fd94C9B143d31E7F422663b670f29AAE", + "cellId": "EI-L13-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B01-C4" + }, + { + "lpbca": 13, + "branch": 1, + "class": 5, + "linearIndex": 2585, + "address": "0x445BA68c3E115150Af606083A5e7862677E40Ea4", + "cellId": "EI-L13-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B01-C5" + }, + { + "lpbca": 13, + "branch": 2, + "class": 0, + "linearIndex": 2586, + "address": "0x2d81f6374078607183830243FD52237F49778D98", + "cellId": "EI-L13-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B02-C0" + }, + { + "lpbca": 13, + "branch": 2, + "class": 1, + "linearIndex": 2587, + "address": "0xD59964ef6eFfE1951D7Fd7B6FC784877ece98C9f", + "cellId": "EI-L13-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B02-C1" + }, + { + "lpbca": 13, + "branch": 2, + "class": 2, + "linearIndex": 2588, + "address": "0x000dA775Db9CdaAf77564200702Daae35f113c75", + "cellId": "EI-L13-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B02-C2" + }, + { + "lpbca": 13, + "branch": 2, + "class": 3, + "linearIndex": 2589, + "address": "0xc5e3e0744A61b4b182651CB8a180A99dc93Ae995", + "cellId": "EI-L13-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B02-C3" + }, + { + "lpbca": 13, + "branch": 2, + "class": 4, + "linearIndex": 2590, + "address": "0x4f350e939a31342C561fB431E853770686159b0C", + "cellId": "EI-L13-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B02-C4" + }, + { + "lpbca": 13, + "branch": 2, + "class": 5, + "linearIndex": 2591, + "address": "0xfdD834A7889d1d87A24A53633745e193228dA508", + "cellId": "EI-L13-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B02-C5" + }, + { + "lpbca": 13, + "branch": 3, + "class": 0, + "linearIndex": 2592, + "address": "0x6b0A132b90BC4b8CBB05b3d9a29A49BfAa388f06", + "cellId": "EI-L13-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B03-C0" + }, + { + "lpbca": 13, + "branch": 3, + "class": 1, + "linearIndex": 2593, + "address": "0x2E9E71a848be5A792c1273AB316f5bd0B5a246C2", + "cellId": "EI-L13-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B03-C1" + }, + { + "lpbca": 13, + "branch": 3, + "class": 2, + "linearIndex": 2594, + "address": "0x9a6705D91c12B376913B86cae2Df6e269Cd2dF26", + "cellId": "EI-L13-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B03-C2" + }, + { + "lpbca": 13, + "branch": 3, + "class": 3, + "linearIndex": 2595, + "address": "0xB1636320Aa3cA039E0dCA8fB2c68F598b410FF2b", + "cellId": "EI-L13-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B03-C3" + }, + { + "lpbca": 13, + "branch": 3, + "class": 4, + "linearIndex": 2596, + "address": "0x6ECE74e9FE43ffa0e15BC21a3eD92d2AB4B29A34", + "cellId": "EI-L13-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B03-C4" + }, + { + "lpbca": 13, + "branch": 3, + "class": 5, + "linearIndex": 2597, + "address": "0x1c19EBD729E85299ee79e6792D47F8657520f56B", + "cellId": "EI-L13-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B03-C5" + }, + { + "lpbca": 13, + "branch": 4, + "class": 0, + "linearIndex": 2598, + "address": "0xc18ae3d4c0DA540b004544D04703E6d8366310a5", + "cellId": "EI-L13-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B04-C0" + }, + { + "lpbca": 13, + "branch": 4, + "class": 1, + "linearIndex": 2599, + "address": "0x9F36Da7D12565d0eE66359e4751194862EFe1611", + "cellId": "EI-L13-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B04-C1" + }, + { + "lpbca": 13, + "branch": 4, + "class": 2, + "linearIndex": 2600, + "address": "0x3e6eDA4c0185149C45d58d22d9FB979f49A44307", + "cellId": "EI-L13-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B04-C2" + }, + { + "lpbca": 13, + "branch": 4, + "class": 3, + "linearIndex": 2601, + "address": "0xcd946497D6a4F1Ad6b6C4be2Ba72149c7CA4dFEE", + "cellId": "EI-L13-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B04-C3" + }, + { + "lpbca": 13, + "branch": 4, + "class": 4, + "linearIndex": 2602, + "address": "0x6aAEF28b63F45747027b4a3979c2076dcB04ae85", + "cellId": "EI-L13-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B04-C4" + }, + { + "lpbca": 13, + "branch": 4, + "class": 5, + "linearIndex": 2603, + "address": "0x54D7E8A8cD60e0D2f08B86353338Ef7B9A0c348b", + "cellId": "EI-L13-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B04-C5" + }, + { + "lpbca": 13, + "branch": 5, + "class": 0, + "linearIndex": 2604, + "address": "0x96A49B4B967aa6A4Bef675244DA924C12CCa54ab", + "cellId": "EI-L13-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B05-C0" + }, + { + "lpbca": 13, + "branch": 5, + "class": 1, + "linearIndex": 2605, + "address": "0x0f3Be8637a7c85bC7D291A859d3509C88340263e", + "cellId": "EI-L13-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B05-C1" + }, + { + "lpbca": 13, + "branch": 5, + "class": 2, + "linearIndex": 2606, + "address": "0x6A3AC4995186DFC0A37Aa01855d270E306af031A", + "cellId": "EI-L13-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B05-C2" + }, + { + "lpbca": 13, + "branch": 5, + "class": 3, + "linearIndex": 2607, + "address": "0xA46c69f69Ac465ffF67F2F830F7218eFbF3432e6", + "cellId": "EI-L13-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B05-C3" + }, + { + "lpbca": 13, + "branch": 5, + "class": 4, + "linearIndex": 2608, + "address": "0x7f03a460f2A6A4F2D77136F9D26522c84be2cF53", + "cellId": "EI-L13-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B05-C4" + }, + { + "lpbca": 13, + "branch": 5, + "class": 5, + "linearIndex": 2609, + "address": "0x49E73eEECF2d04c4E210cbDf3066D727b4E418D4", + "cellId": "EI-L13-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B05-C5" + }, + { + "lpbca": 13, + "branch": 6, + "class": 0, + "linearIndex": 2610, + "address": "0x7f4AC5aAAD0A8bbdb33bc5246d3Bc532469C09D1", + "cellId": "EI-L13-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B06-C0" + }, + { + "lpbca": 13, + "branch": 6, + "class": 1, + "linearIndex": 2611, + "address": "0xe3904D784A35e3741a680A95260f25633A62f1aF", + "cellId": "EI-L13-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B06-C1" + }, + { + "lpbca": 13, + "branch": 6, + "class": 2, + "linearIndex": 2612, + "address": "0x7E02Caa748cbAb40A3F92493c9339f2A500A5594", + "cellId": "EI-L13-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B06-C2" + }, + { + "lpbca": 13, + "branch": 6, + "class": 3, + "linearIndex": 2613, + "address": "0x3Ae6d4A32B0DC0b3B8FF42318FccC49dF388569A", + "cellId": "EI-L13-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B06-C3" + }, + { + "lpbca": 13, + "branch": 6, + "class": 4, + "linearIndex": 2614, + "address": "0x8e7A8BD1A7B78F9900E18fD7F39dB90E77572313", + "cellId": "EI-L13-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B06-C4" + }, + { + "lpbca": 13, + "branch": 6, + "class": 5, + "linearIndex": 2615, + "address": "0x26d81d8ddacDD0784281Dbe25704343D20E89DBA", + "cellId": "EI-L13-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B06-C5" + }, + { + "lpbca": 13, + "branch": 7, + "class": 0, + "linearIndex": 2616, + "address": "0x517961b9529d87fa3CFC4F64A455C066320e1AD4", + "cellId": "EI-L13-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B07-C0" + }, + { + "lpbca": 13, + "branch": 7, + "class": 1, + "linearIndex": 2617, + "address": "0xeFcFDC014FF891060B64d662c83b65D30A560186", + "cellId": "EI-L13-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B07-C1" + }, + { + "lpbca": 13, + "branch": 7, + "class": 2, + "linearIndex": 2618, + "address": "0xc1f817aBB71ac20a7E04059c754D3923da943072", + "cellId": "EI-L13-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B07-C2" + }, + { + "lpbca": 13, + "branch": 7, + "class": 3, + "linearIndex": 2619, + "address": "0x820a710bC8A31A369107262a104821Fdc2f82D7d", + "cellId": "EI-L13-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B07-C3" + }, + { + "lpbca": 13, + "branch": 7, + "class": 4, + "linearIndex": 2620, + "address": "0xfd5353cc6639EC492da5bf5b241e1ba227C004ad", + "cellId": "EI-L13-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B07-C4" + }, + { + "lpbca": 13, + "branch": 7, + "class": 5, + "linearIndex": 2621, + "address": "0x8205bce40927B80C9aa3996B31b126fb874B22A3", + "cellId": "EI-L13-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B07-C5" + }, + { + "lpbca": 13, + "branch": 8, + "class": 0, + "linearIndex": 2622, + "address": "0x7e3e160D6922d65cCBB1E6355863dadD5637DedE", + "cellId": "EI-L13-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B08-C0" + }, + { + "lpbca": 13, + "branch": 8, + "class": 1, + "linearIndex": 2623, + "address": "0xeD08F1cADA0594d19F8e636Ab8B69dC59302aFC0", + "cellId": "EI-L13-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B08-C1" + }, + { + "lpbca": 13, + "branch": 8, + "class": 2, + "linearIndex": 2624, + "address": "0xca31dDC9013d631bE4a075145dd0D1ECc193086B", + "cellId": "EI-L13-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B08-C2" + }, + { + "lpbca": 13, + "branch": 8, + "class": 3, + "linearIndex": 2625, + "address": "0x503a11C791a597eaF2fD4Ff80DF99DB7370E992f", + "cellId": "EI-L13-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B08-C3" + }, + { + "lpbca": 13, + "branch": 8, + "class": 4, + "linearIndex": 2626, + "address": "0x29657233a03c17891714589FBaD0c2A562D8Ca75", + "cellId": "EI-L13-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B08-C4" + }, + { + "lpbca": 13, + "branch": 8, + "class": 5, + "linearIndex": 2627, + "address": "0x849157039850770Dc7A57215192351234c953341", + "cellId": "EI-L13-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B08-C5" + }, + { + "lpbca": 13, + "branch": 9, + "class": 0, + "linearIndex": 2628, + "address": "0xE84B583BCaAC9EAB870810Fd126c4181c8152Ac3", + "cellId": "EI-L13-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B09-C0" + }, + { + "lpbca": 13, + "branch": 9, + "class": 1, + "linearIndex": 2629, + "address": "0x8da5533dE7Dd9c630db70f15D1360df315211598", + "cellId": "EI-L13-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B09-C1" + }, + { + "lpbca": 13, + "branch": 9, + "class": 2, + "linearIndex": 2630, + "address": "0xF45bA6648561377c062E0807D3f1Fbddd9573657", + "cellId": "EI-L13-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B09-C2" + }, + { + "lpbca": 13, + "branch": 9, + "class": 3, + "linearIndex": 2631, + "address": "0xdcD2aCd78f440dA983465Cf8CF467D8c76987E40", + "cellId": "EI-L13-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B09-C3" + }, + { + "lpbca": 13, + "branch": 9, + "class": 4, + "linearIndex": 2632, + "address": "0x03A41eae23b45f331D23e6cCA7b3ebfA9C7EFbf4", + "cellId": "EI-L13-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B09-C4" + }, + { + "lpbca": 13, + "branch": 9, + "class": 5, + "linearIndex": 2633, + "address": "0xfF71Fd1Ade36682738A41622320924486BC6Aa43", + "cellId": "EI-L13-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B09-C5" + }, + { + "lpbca": 13, + "branch": 10, + "class": 0, + "linearIndex": 2634, + "address": "0x3C2f50a9fa4EFE7015E3929eE094c1cb4AaD5825", + "cellId": "EI-L13-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B10-C0" + }, + { + "lpbca": 13, + "branch": 10, + "class": 1, + "linearIndex": 2635, + "address": "0x0e437e5850a9d8A4ED4D3bBb8f5F546F57120BaD", + "cellId": "EI-L13-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B10-C1" + }, + { + "lpbca": 13, + "branch": 10, + "class": 2, + "linearIndex": 2636, + "address": "0xeAc5d87b5249Dc3d922BF25Db97AB3dA14E69ec5", + "cellId": "EI-L13-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B10-C2" + }, + { + "lpbca": 13, + "branch": 10, + "class": 3, + "linearIndex": 2637, + "address": "0x3b4a924249886BFdCD3ECa2a5D4258Ce6D588742", + "cellId": "EI-L13-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B10-C3" + }, + { + "lpbca": 13, + "branch": 10, + "class": 4, + "linearIndex": 2638, + "address": "0xe91582e76EF918f0ef5CDEdd24F24C3F86555E48", + "cellId": "EI-L13-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B10-C4" + }, + { + "lpbca": 13, + "branch": 10, + "class": 5, + "linearIndex": 2639, + "address": "0xD76FAd0FF4AcDed38De00680a68F17949A33301a", + "cellId": "EI-L13-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B10-C5" + }, + { + "lpbca": 13, + "branch": 11, + "class": 0, + "linearIndex": 2640, + "address": "0x63CF4101b280bd0EEE4676F77B7e545EbD55D8f5", + "cellId": "EI-L13-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B11-C0" + }, + { + "lpbca": 13, + "branch": 11, + "class": 1, + "linearIndex": 2641, + "address": "0xf62fD989307bfeE4a1A04eda034f168c877572EF", + "cellId": "EI-L13-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B11-C1" + }, + { + "lpbca": 13, + "branch": 11, + "class": 2, + "linearIndex": 2642, + "address": "0xE8705261eDFa34526940F89cB86C3264a2E6eC45", + "cellId": "EI-L13-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B11-C2" + }, + { + "lpbca": 13, + "branch": 11, + "class": 3, + "linearIndex": 2643, + "address": "0x2Cbb99a07628519a05Aa19f32DE62fFa287288aF", + "cellId": "EI-L13-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B11-C3" + }, + { + "lpbca": 13, + "branch": 11, + "class": 4, + "linearIndex": 2644, + "address": "0x15A02C210c5142f060482f42fe97FAcfD8718278", + "cellId": "EI-L13-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B11-C4" + }, + { + "lpbca": 13, + "branch": 11, + "class": 5, + "linearIndex": 2645, + "address": "0x9621c98A582eB1404742Fe70e313da0d4678587B", + "cellId": "EI-L13-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B11-C5" + }, + { + "lpbca": 13, + "branch": 12, + "class": 0, + "linearIndex": 2646, + "address": "0x3199f2CBB67676095ea172418D2f9e941E3F22Ca", + "cellId": "EI-L13-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B12-C0" + }, + { + "lpbca": 13, + "branch": 12, + "class": 1, + "linearIndex": 2647, + "address": "0xf666F63a763960D07Dd20C9fB999f5dc1E2b22d3", + "cellId": "EI-L13-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B12-C1" + }, + { + "lpbca": 13, + "branch": 12, + "class": 2, + "linearIndex": 2648, + "address": "0x9Be8C2B862a16c4F769367d6c12513529e3B778B", + "cellId": "EI-L13-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B12-C2" + }, + { + "lpbca": 13, + "branch": 12, + "class": 3, + "linearIndex": 2649, + "address": "0xcadcbda34e21Ef63cF1Ec37E1A7b041A1F44cF2D", + "cellId": "EI-L13-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B12-C3" + }, + { + "lpbca": 13, + "branch": 12, + "class": 4, + "linearIndex": 2650, + "address": "0x2276e9f66B5646Fc3feD0F90E58cBF89A78a3EC7", + "cellId": "EI-L13-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B12-C4" + }, + { + "lpbca": 13, + "branch": 12, + "class": 5, + "linearIndex": 2651, + "address": "0x09b51764E62d81e3d4F6fA7Faadc7df5337Bdb03", + "cellId": "EI-L13-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B12-C5" + }, + { + "lpbca": 13, + "branch": 13, + "class": 0, + "linearIndex": 2652, + "address": "0x213C3aE7F232c2986522A59DB1Ab0be77b057b74", + "cellId": "EI-L13-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B13-C0" + }, + { + "lpbca": 13, + "branch": 13, + "class": 1, + "linearIndex": 2653, + "address": "0xa1781B7080672ddE0FA1fEB0c73f9197F441ed08", + "cellId": "EI-L13-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B13-C1" + }, + { + "lpbca": 13, + "branch": 13, + "class": 2, + "linearIndex": 2654, + "address": "0x36F5C7469734d9CE307dceaE9e238ad360B2f7f9", + "cellId": "EI-L13-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B13-C2" + }, + { + "lpbca": 13, + "branch": 13, + "class": 3, + "linearIndex": 2655, + "address": "0x3894C8dD9a6DF44F14d187B0cCb5b2f439CeD06d", + "cellId": "EI-L13-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B13-C3" + }, + { + "lpbca": 13, + "branch": 13, + "class": 4, + "linearIndex": 2656, + "address": "0x91ac46240119aef56809CBC6D48f05A5DBbfd851", + "cellId": "EI-L13-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B13-C4" + }, + { + "lpbca": 13, + "branch": 13, + "class": 5, + "linearIndex": 2657, + "address": "0x2bF19bC22d3D403cbfb1A7cDe7d43a8dc70C0DB3", + "cellId": "EI-L13-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B13-C5" + }, + { + "lpbca": 13, + "branch": 14, + "class": 0, + "linearIndex": 2658, + "address": "0xe09c8EC1016C1022e67F3d6dF671968Dcfb2a8E5", + "cellId": "EI-L13-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B14-C0" + }, + { + "lpbca": 13, + "branch": 14, + "class": 1, + "linearIndex": 2659, + "address": "0x084282a3315e9E09aA939EAFF7ca6046cbFEEe87", + "cellId": "EI-L13-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B14-C1" + }, + { + "lpbca": 13, + "branch": 14, + "class": 2, + "linearIndex": 2660, + "address": "0x339472665348826406e60091062cc66C697cBe5d", + "cellId": "EI-L13-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B14-C2" + }, + { + "lpbca": 13, + "branch": 14, + "class": 3, + "linearIndex": 2661, + "address": "0x2E6f5c73827e7e5DC1eAE7280b1F8fd090978a92", + "cellId": "EI-L13-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B14-C3" + }, + { + "lpbca": 13, + "branch": 14, + "class": 4, + "linearIndex": 2662, + "address": "0x9317A83Ece265E211c302889d29667b7244CEF9f", + "cellId": "EI-L13-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B14-C4" + }, + { + "lpbca": 13, + "branch": 14, + "class": 5, + "linearIndex": 2663, + "address": "0x9F614A4Dae804c3d15C1dCb69793933C41e29e85", + "cellId": "EI-L13-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B14-C5" + }, + { + "lpbca": 13, + "branch": 15, + "class": 0, + "linearIndex": 2664, + "address": "0x9F1C028a8c448878af4756eB11564d2bAb2079bE", + "cellId": "EI-L13-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B15-C0" + }, + { + "lpbca": 13, + "branch": 15, + "class": 1, + "linearIndex": 2665, + "address": "0x8cCD11b4535F5A87861B5C5b88AC4f936696a85e", + "cellId": "EI-L13-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B15-C1" + }, + { + "lpbca": 13, + "branch": 15, + "class": 2, + "linearIndex": 2666, + "address": "0xD715Ae155df7c02f2410922c908BFD2B8a92c9c4", + "cellId": "EI-L13-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B15-C2" + }, + { + "lpbca": 13, + "branch": 15, + "class": 3, + "linearIndex": 2667, + "address": "0x983D0CEB1618C9dc4A83306846606FdaF2830585", + "cellId": "EI-L13-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B15-C3" + }, + { + "lpbca": 13, + "branch": 15, + "class": 4, + "linearIndex": 2668, + "address": "0x780E3c6dBABF4515cFB60F7471a2660aadDCc7EB", + "cellId": "EI-L13-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B15-C4" + }, + { + "lpbca": 13, + "branch": 15, + "class": 5, + "linearIndex": 2669, + "address": "0x5B36f66FE6abB83778BE0a8e1ea399B7319913fF", + "cellId": "EI-L13-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B15-C5" + }, + { + "lpbca": 13, + "branch": 16, + "class": 0, + "linearIndex": 2670, + "address": "0x989F392678dD531b179170421c71C6d3ea013f91", + "cellId": "EI-L13-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B16-C0" + }, + { + "lpbca": 13, + "branch": 16, + "class": 1, + "linearIndex": 2671, + "address": "0x72B2e5aB116569B3133f3b8e8DFe4416A62cEbe8", + "cellId": "EI-L13-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B16-C1" + }, + { + "lpbca": 13, + "branch": 16, + "class": 2, + "linearIndex": 2672, + "address": "0xe9F6EeC89602f1314D5Db6bEB0FA0cd4343Ea398", + "cellId": "EI-L13-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B16-C2" + }, + { + "lpbca": 13, + "branch": 16, + "class": 3, + "linearIndex": 2673, + "address": "0x06a402DEb96f536584a6F7747C2B8eeDb3D8dEBF", + "cellId": "EI-L13-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B16-C3" + }, + { + "lpbca": 13, + "branch": 16, + "class": 4, + "linearIndex": 2674, + "address": "0xA8513Fd594a14eb97A786BCC13fA052202AE2069", + "cellId": "EI-L13-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B16-C4" + }, + { + "lpbca": 13, + "branch": 16, + "class": 5, + "linearIndex": 2675, + "address": "0x49018584f2DD9B0B39c9cA526cB9789AE10dc960", + "cellId": "EI-L13-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B16-C5" + }, + { + "lpbca": 13, + "branch": 17, + "class": 0, + "linearIndex": 2676, + "address": "0x17D9E769C992E7De16633A60b620D94d760946Cc", + "cellId": "EI-L13-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B17-C0" + }, + { + "lpbca": 13, + "branch": 17, + "class": 1, + "linearIndex": 2677, + "address": "0x058f31F1fAFFF62f410A14b2A9f611d035Bc2Cc1", + "cellId": "EI-L13-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B17-C1" + }, + { + "lpbca": 13, + "branch": 17, + "class": 2, + "linearIndex": 2678, + "address": "0xd8909009e5967b1e624Fe6Dd45A17a4cE70d5427", + "cellId": "EI-L13-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B17-C2" + }, + { + "lpbca": 13, + "branch": 17, + "class": 3, + "linearIndex": 2679, + "address": "0x89e0ee8B9E233fba71382aC78c64bd4e2f886984", + "cellId": "EI-L13-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B17-C3" + }, + { + "lpbca": 13, + "branch": 17, + "class": 4, + "linearIndex": 2680, + "address": "0x5B4F486C468945Aa1Ba3e4b54bbF663760A3024D", + "cellId": "EI-L13-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B17-C4" + }, + { + "lpbca": 13, + "branch": 17, + "class": 5, + "linearIndex": 2681, + "address": "0xE4ecd83519fAb80927267a8fdb5e7D41499e004c", + "cellId": "EI-L13-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B17-C5" + }, + { + "lpbca": 13, + "branch": 18, + "class": 0, + "linearIndex": 2682, + "address": "0xFFA51002212E66915e5d033e7abC2Fc3D91ef27f", + "cellId": "EI-L13-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B18-C0" + }, + { + "lpbca": 13, + "branch": 18, + "class": 1, + "linearIndex": 2683, + "address": "0x2665f9d2eFcA5707cbE994eb500F082d9e1d9fB6", + "cellId": "EI-L13-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B18-C1" + }, + { + "lpbca": 13, + "branch": 18, + "class": 2, + "linearIndex": 2684, + "address": "0xA8D4fB3431b41702247081c82dB893DE7b6b33F4", + "cellId": "EI-L13-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B18-C2" + }, + { + "lpbca": 13, + "branch": 18, + "class": 3, + "linearIndex": 2685, + "address": "0xe2Ab4708937C29979f9A75396EB6C02aA0DeeF2B", + "cellId": "EI-L13-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B18-C3" + }, + { + "lpbca": 13, + "branch": 18, + "class": 4, + "linearIndex": 2686, + "address": "0xE2dE97b9A0F42325Fba8E7a12053F663a4869975", + "cellId": "EI-L13-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B18-C4" + }, + { + "lpbca": 13, + "branch": 18, + "class": 5, + "linearIndex": 2687, + "address": "0x08a28268D6DcE242120EEbEb75250b16f97247F3", + "cellId": "EI-L13-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B18-C5" + }, + { + "lpbca": 13, + "branch": 19, + "class": 0, + "linearIndex": 2688, + "address": "0xeaA7B1089aD9073081Cc735DF9dAa39ed8eFaeC5", + "cellId": "EI-L13-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B19-C0" + }, + { + "lpbca": 13, + "branch": 19, + "class": 1, + "linearIndex": 2689, + "address": "0x2D6FDA2db93d2246E57Cf5f571908e4Cf0a43db5", + "cellId": "EI-L13-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B19-C1" + }, + { + "lpbca": 13, + "branch": 19, + "class": 2, + "linearIndex": 2690, + "address": "0xDD00851c5a890611DF17ea561B5fF48B78bBB890", + "cellId": "EI-L13-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B19-C2" + }, + { + "lpbca": 13, + "branch": 19, + "class": 3, + "linearIndex": 2691, + "address": "0x07129eDF0BE856DfF78217886c080dF3C1367A8e", + "cellId": "EI-L13-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B19-C3" + }, + { + "lpbca": 13, + "branch": 19, + "class": 4, + "linearIndex": 2692, + "address": "0x0728B39C426F99FBFDA7bB494dB4aA0bF3c8d3bC", + "cellId": "EI-L13-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B19-C4" + }, + { + "lpbca": 13, + "branch": 19, + "class": 5, + "linearIndex": 2693, + "address": "0x60E7E1217504D18d0c6953F2aAf5DC0B886fFE52", + "cellId": "EI-L13-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B19-C5" + }, + { + "lpbca": 13, + "branch": 20, + "class": 0, + "linearIndex": 2694, + "address": "0xBDDFD082EbFA9A2Dc23E6d5Eb2BB4BAf2E423375", + "cellId": "EI-L13-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B20-C0" + }, + { + "lpbca": 13, + "branch": 20, + "class": 1, + "linearIndex": 2695, + "address": "0xea4666e6bC68c08614A38dAF74862C6610d9BD9f", + "cellId": "EI-L13-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B20-C1" + }, + { + "lpbca": 13, + "branch": 20, + "class": 2, + "linearIndex": 2696, + "address": "0x787e4a299D683076C7ec89F5c8F10Fb3567baE94", + "cellId": "EI-L13-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B20-C2" + }, + { + "lpbca": 13, + "branch": 20, + "class": 3, + "linearIndex": 2697, + "address": "0xEFb88fbB64a1B53c5Eb293Fa36370EcE03B5EF83", + "cellId": "EI-L13-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B20-C3" + }, + { + "lpbca": 13, + "branch": 20, + "class": 4, + "linearIndex": 2698, + "address": "0x521f94A9da0D0c1c7e687b998E6b5633A7a14fDb", + "cellId": "EI-L13-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B20-C4" + }, + { + "lpbca": 13, + "branch": 20, + "class": 5, + "linearIndex": 2699, + "address": "0xe186aD09963fD670De40AFBa70712a3307dFE8E7", + "cellId": "EI-L13-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B20-C5" + }, + { + "lpbca": 13, + "branch": 21, + "class": 0, + "linearIndex": 2700, + "address": "0x84bb343149B5f889D20C7d5A7A5Fce00B7d4c8bA", + "cellId": "EI-L13-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B21-C0" + }, + { + "lpbca": 13, + "branch": 21, + "class": 1, + "linearIndex": 2701, + "address": "0x6378aFAB0a85797c7A73049128833F848E08561C", + "cellId": "EI-L13-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B21-C1" + }, + { + "lpbca": 13, + "branch": 21, + "class": 2, + "linearIndex": 2702, + "address": "0x13c38a3f57Fc84569bc3D2993e147a73324E5A65", + "cellId": "EI-L13-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B21-C2" + }, + { + "lpbca": 13, + "branch": 21, + "class": 3, + "linearIndex": 2703, + "address": "0x44Fb8892a1ebfd0d74887BC2fD37BE9Fa2da8f91", + "cellId": "EI-L13-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B21-C3" + }, + { + "lpbca": 13, + "branch": 21, + "class": 4, + "linearIndex": 2704, + "address": "0xB4AACeB03C1f5c5213345011602a90164A2D5c44", + "cellId": "EI-L13-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B21-C4" + }, + { + "lpbca": 13, + "branch": 21, + "class": 5, + "linearIndex": 2705, + "address": "0x1a945FbA7924B5dcAC1255939491E2D914F8deA0", + "cellId": "EI-L13-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B21-C5" + }, + { + "lpbca": 13, + "branch": 22, + "class": 0, + "linearIndex": 2706, + "address": "0x17b5b32eacC3E87F31D7bC0789Dc6Ca68450c0B3", + "cellId": "EI-L13-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B22-C0" + }, + { + "lpbca": 13, + "branch": 22, + "class": 1, + "linearIndex": 2707, + "address": "0xF1Da550a9EFa327ee6111445523F403E5A286f5c", + "cellId": "EI-L13-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B22-C1" + }, + { + "lpbca": 13, + "branch": 22, + "class": 2, + "linearIndex": 2708, + "address": "0x39C7FB4ABB6612AB9A41Cd4D878e5c3c43D99fD1", + "cellId": "EI-L13-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B22-C2" + }, + { + "lpbca": 13, + "branch": 22, + "class": 3, + "linearIndex": 2709, + "address": "0xEE2ac521A7e1F48E73Fb2C1A8B8C4C351aC570E5", + "cellId": "EI-L13-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B22-C3" + }, + { + "lpbca": 13, + "branch": 22, + "class": 4, + "linearIndex": 2710, + "address": "0x5d39C9F86D1E9936BcfdD0AA9fcF02056fBDC57E", + "cellId": "EI-L13-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B22-C4" + }, + { + "lpbca": 13, + "branch": 22, + "class": 5, + "linearIndex": 2711, + "address": "0xa91F6901Deb0Afe7A82B61210dB99B8667c2498B", + "cellId": "EI-L13-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B22-C5" + }, + { + "lpbca": 13, + "branch": 23, + "class": 0, + "linearIndex": 2712, + "address": "0xE02E3a5dDE391FA45631dBddB16641dc184C2bFB", + "cellId": "EI-L13-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B23-C0" + }, + { + "lpbca": 13, + "branch": 23, + "class": 1, + "linearIndex": 2713, + "address": "0x3E5Ffab61F3F67449A1e8f4Ad759dE09A9435Bb0", + "cellId": "EI-L13-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B23-C1" + }, + { + "lpbca": 13, + "branch": 23, + "class": 2, + "linearIndex": 2714, + "address": "0xB18Ba3101Ad76faE63f343c4350F0a3550261779", + "cellId": "EI-L13-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B23-C2" + }, + { + "lpbca": 13, + "branch": 23, + "class": 3, + "linearIndex": 2715, + "address": "0x66BE88E24301601A986078Cd046025f32fD18Ee4", + "cellId": "EI-L13-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B23-C3" + }, + { + "lpbca": 13, + "branch": 23, + "class": 4, + "linearIndex": 2716, + "address": "0x669eFCe46Fd923A9aC5948B42a3F8A1FFd60e009", + "cellId": "EI-L13-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B23-C4" + }, + { + "lpbca": 13, + "branch": 23, + "class": 5, + "linearIndex": 2717, + "address": "0xe7b754ab8ddd5aDe60266C6E8E1c1110D299ff9c", + "cellId": "EI-L13-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B23-C5" + }, + { + "lpbca": 13, + "branch": 24, + "class": 0, + "linearIndex": 2718, + "address": "0x0Cd5Dbb9b8AE03CbE31DCac46824DaF7F5cac43F", + "cellId": "EI-L13-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B24-C0" + }, + { + "lpbca": 13, + "branch": 24, + "class": 1, + "linearIndex": 2719, + "address": "0x1cE4Fe02DA8b7C1E1BEE24047544160540F6762A", + "cellId": "EI-L13-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B24-C1" + }, + { + "lpbca": 13, + "branch": 24, + "class": 2, + "linearIndex": 2720, + "address": "0xdf827715590Df061Dc32148aa1feA8Ac0396433b", + "cellId": "EI-L13-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B24-C2" + }, + { + "lpbca": 13, + "branch": 24, + "class": 3, + "linearIndex": 2721, + "address": "0xF7B6a8699Eb1D9Bc564e81Bb607e89bEFFb3F675", + "cellId": "EI-L13-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B24-C3" + }, + { + "lpbca": 13, + "branch": 24, + "class": 4, + "linearIndex": 2722, + "address": "0xdC3A82E17F19e55bE92a2b88FEEBF86041ba36F3", + "cellId": "EI-L13-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B24-C4" + }, + { + "lpbca": 13, + "branch": 24, + "class": 5, + "linearIndex": 2723, + "address": "0xD242F47722C40943BF055aDd449E06D6d7b7e008", + "cellId": "EI-L13-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B24-C5" + }, + { + "lpbca": 13, + "branch": 25, + "class": 0, + "linearIndex": 2724, + "address": "0x79321691Cad12FeDc766647DF220d9Fd9DB49c0c", + "cellId": "EI-L13-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B25-C0" + }, + { + "lpbca": 13, + "branch": 25, + "class": 1, + "linearIndex": 2725, + "address": "0x06b02bb160108d0dEc966Aaf95335620C9891B49", + "cellId": "EI-L13-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B25-C1" + }, + { + "lpbca": 13, + "branch": 25, + "class": 2, + "linearIndex": 2726, + "address": "0xeE6ab3079bb676ceC195E654B9d54f1953284Ab2", + "cellId": "EI-L13-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B25-C2" + }, + { + "lpbca": 13, + "branch": 25, + "class": 3, + "linearIndex": 2727, + "address": "0x844395B4f7EcCAa947d5E6f4098FA639f67A1191", + "cellId": "EI-L13-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B25-C3" + }, + { + "lpbca": 13, + "branch": 25, + "class": 4, + "linearIndex": 2728, + "address": "0xdD12a2ABdcAf9e2692C2265d90ca958a91B59F3d", + "cellId": "EI-L13-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B25-C4" + }, + { + "lpbca": 13, + "branch": 25, + "class": 5, + "linearIndex": 2729, + "address": "0xAa2E0D8C6b68165E493dFC4F30f71e414E3b5F5c", + "cellId": "EI-L13-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B25-C5" + }, + { + "lpbca": 13, + "branch": 26, + "class": 0, + "linearIndex": 2730, + "address": "0x53122120B1440aAd139B3395e63511426271fAf9", + "cellId": "EI-L13-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B26-C0" + }, + { + "lpbca": 13, + "branch": 26, + "class": 1, + "linearIndex": 2731, + "address": "0x29E52536728b9D434f3A23222ceAf3E1d3A8B0f3", + "cellId": "EI-L13-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B26-C1" + }, + { + "lpbca": 13, + "branch": 26, + "class": 2, + "linearIndex": 2732, + "address": "0x0E656f8a16B2317CA223bA7A96d199D7893b69C6", + "cellId": "EI-L13-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B26-C2" + }, + { + "lpbca": 13, + "branch": 26, + "class": 3, + "linearIndex": 2733, + "address": "0x0aE8ac85DBd3b40C8a9B740b5E8499F6B34E702E", + "cellId": "EI-L13-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B26-C3" + }, + { + "lpbca": 13, + "branch": 26, + "class": 4, + "linearIndex": 2734, + "address": "0xCA7846A7e6a42F8e7C930aE7F793fE455E9A228A", + "cellId": "EI-L13-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B26-C4" + }, + { + "lpbca": 13, + "branch": 26, + "class": 5, + "linearIndex": 2735, + "address": "0xf7C03BC3eAb5eEd0883572867fa11632387b8783", + "cellId": "EI-L13-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B26-C5" + }, + { + "lpbca": 13, + "branch": 27, + "class": 0, + "linearIndex": 2736, + "address": "0x5658f9F8a60F0C30017d363270dc7B602311621A", + "cellId": "EI-L13-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B27-C0" + }, + { + "lpbca": 13, + "branch": 27, + "class": 1, + "linearIndex": 2737, + "address": "0xaEdDAb8e0CeFFfbcD11eBa096f05770947a2B626", + "cellId": "EI-L13-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B27-C1" + }, + { + "lpbca": 13, + "branch": 27, + "class": 2, + "linearIndex": 2738, + "address": "0xb1cC184A4Dde4F5fFE33cBe8C854ca7da09B1794", + "cellId": "EI-L13-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B27-C2" + }, + { + "lpbca": 13, + "branch": 27, + "class": 3, + "linearIndex": 2739, + "address": "0xD8F66cA1DeAeC1b1e243EC3edF3800bC3b364Bfe", + "cellId": "EI-L13-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B27-C3" + }, + { + "lpbca": 13, + "branch": 27, + "class": 4, + "linearIndex": 2740, + "address": "0x1DEc38e0086bE1f63c977ecE920b42E011554F44", + "cellId": "EI-L13-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B27-C4" + }, + { + "lpbca": 13, + "branch": 27, + "class": 5, + "linearIndex": 2741, + "address": "0xfa2B8B62C6710f2Ec843601299a1ee9Bed244e92", + "cellId": "EI-L13-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B27-C5" + }, + { + "lpbca": 13, + "branch": 28, + "class": 0, + "linearIndex": 2742, + "address": "0x5c0570E2C3eAAAB8D6aE9B30E309A2d10c0B15b5", + "cellId": "EI-L13-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B28-C0" + }, + { + "lpbca": 13, + "branch": 28, + "class": 1, + "linearIndex": 2743, + "address": "0xe3eef6E6E689fDF87D1D7f182Bb95de852354cFC", + "cellId": "EI-L13-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B28-C1" + }, + { + "lpbca": 13, + "branch": 28, + "class": 2, + "linearIndex": 2744, + "address": "0x22ccb7AEb6dFB7C5d62E5902AdE0A38E9e11f338", + "cellId": "EI-L13-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B28-C2" + }, + { + "lpbca": 13, + "branch": 28, + "class": 3, + "linearIndex": 2745, + "address": "0x31291F4C44220eb6a14f75BD81DEA5Ca14401226", + "cellId": "EI-L13-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B28-C3" + }, + { + "lpbca": 13, + "branch": 28, + "class": 4, + "linearIndex": 2746, + "address": "0xBa776BB61Be605ED9609D8Ba63F8CA78B6E8217a", + "cellId": "EI-L13-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B28-C4" + }, + { + "lpbca": 13, + "branch": 28, + "class": 5, + "linearIndex": 2747, + "address": "0x0C79946a5E63eAE0011dC6AA53319eFaeBf54a30", + "cellId": "EI-L13-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B28-C5" + }, + { + "lpbca": 13, + "branch": 29, + "class": 0, + "linearIndex": 2748, + "address": "0x0145befE940AB82a7229980FF889476E64c9732e", + "cellId": "EI-L13-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B29-C0" + }, + { + "lpbca": 13, + "branch": 29, + "class": 1, + "linearIndex": 2749, + "address": "0x73D8798A7721580a81DDa1cAd441495346653ADb", + "cellId": "EI-L13-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B29-C1" + }, + { + "lpbca": 13, + "branch": 29, + "class": 2, + "linearIndex": 2750, + "address": "0x152080fEee6C61AB04685f09dE765c5Fe7C24975", + "cellId": "EI-L13-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B29-C2" + }, + { + "lpbca": 13, + "branch": 29, + "class": 3, + "linearIndex": 2751, + "address": "0xE654cDa23B034Fe02428caC22AB188770fF836A9", + "cellId": "EI-L13-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B29-C3" + }, + { + "lpbca": 13, + "branch": 29, + "class": 4, + "linearIndex": 2752, + "address": "0xd21780450DD44bcab294442EF8dF2D1B4A043d76", + "cellId": "EI-L13-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B29-C4" + }, + { + "lpbca": 13, + "branch": 29, + "class": 5, + "linearIndex": 2753, + "address": "0xaa65C4dF9CA2e08ed609c44db0B13C32AaAcB5A3", + "cellId": "EI-L13-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B29-C5" + }, + { + "lpbca": 13, + "branch": 30, + "class": 0, + "linearIndex": 2754, + "address": "0x5f4F4c792cE2f604F31c45AFf013F6721Ff515aD", + "cellId": "EI-L13-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B30-C0" + }, + { + "lpbca": 13, + "branch": 30, + "class": 1, + "linearIndex": 2755, + "address": "0x3561198FCBB989a7FDfFe0786c1432E6ae64D7a8", + "cellId": "EI-L13-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B30-C1" + }, + { + "lpbca": 13, + "branch": 30, + "class": 2, + "linearIndex": 2756, + "address": "0x86fAEa96AC64F1008bdFb40aFeAdDD019529DCb8", + "cellId": "EI-L13-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B30-C2" + }, + { + "lpbca": 13, + "branch": 30, + "class": 3, + "linearIndex": 2757, + "address": "0x0E521DA9a275d2a437195B9ba2EF1b4c809593C9", + "cellId": "EI-L13-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B30-C3" + }, + { + "lpbca": 13, + "branch": 30, + "class": 4, + "linearIndex": 2758, + "address": "0x02174a26c3EA82D674B81E4Db16B29132A743e8c", + "cellId": "EI-L13-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B30-C4" + }, + { + "lpbca": 13, + "branch": 30, + "class": 5, + "linearIndex": 2759, + "address": "0xf79227Aa7a8488394f7aAbd85f7A870D7d9DEDA5", + "cellId": "EI-L13-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B30-C5" + }, + { + "lpbca": 13, + "branch": 31, + "class": 0, + "linearIndex": 2760, + "address": "0x6C9E8224a01BF28A6A8b5Ac325EF7a8Dab37e68a", + "cellId": "EI-L13-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B31-C0" + }, + { + "lpbca": 13, + "branch": 31, + "class": 1, + "linearIndex": 2761, + "address": "0xdED8ec070E679D69C12692fcFc2f51ce0EdC338D", + "cellId": "EI-L13-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B31-C1" + }, + { + "lpbca": 13, + "branch": 31, + "class": 2, + "linearIndex": 2762, + "address": "0xB4ffBB3097410Ed1886919b9dF33B4bfC891Fee5", + "cellId": "EI-L13-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B31-C2" + }, + { + "lpbca": 13, + "branch": 31, + "class": 3, + "linearIndex": 2763, + "address": "0x94E630616b44F000cC3cbe9B96AABa71AC129c37", + "cellId": "EI-L13-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B31-C3" + }, + { + "lpbca": 13, + "branch": 31, + "class": 4, + "linearIndex": 2764, + "address": "0xc9D82412B258c05df49FCc426aDF8Eca2212a9E5", + "cellId": "EI-L13-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B31-C4" + }, + { + "lpbca": 13, + "branch": 31, + "class": 5, + "linearIndex": 2765, + "address": "0x726300E8dFFB1d8DE98d9e7F98C47980b37E96A1", + "cellId": "EI-L13-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B31-C5" + }, + { + "lpbca": 13, + "branch": 32, + "class": 0, + "linearIndex": 2766, + "address": "0x8E3fE136BBBCDfBF38897B25Db1E49a23cb2f334", + "cellId": "EI-L13-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B32-C0" + }, + { + "lpbca": 13, + "branch": 32, + "class": 1, + "linearIndex": 2767, + "address": "0x495Ecc50641ddAcA4131aF49c29D37E139957c33", + "cellId": "EI-L13-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B32-C1" + }, + { + "lpbca": 13, + "branch": 32, + "class": 2, + "linearIndex": 2768, + "address": "0xA626Ca4f88841e5C994bCD70EE5566BCC3387aFf", + "cellId": "EI-L13-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B32-C2" + }, + { + "lpbca": 13, + "branch": 32, + "class": 3, + "linearIndex": 2769, + "address": "0x22908b93c215Ee85c9a7f484DDCdC60936814795", + "cellId": "EI-L13-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B32-C3" + }, + { + "lpbca": 13, + "branch": 32, + "class": 4, + "linearIndex": 2770, + "address": "0x0F58a19c99282b7019f1BE9Bf893eA1B95b409b9", + "cellId": "EI-L13-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B32-C4" + }, + { + "lpbca": 13, + "branch": 32, + "class": 5, + "linearIndex": 2771, + "address": "0x981d18D01fBDFA9acf67F651e8ea500Ca9bB13cB", + "cellId": "EI-L13-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L13-B32-C5" + }, + { + "lpbca": 14, + "branch": 0, + "class": 0, + "linearIndex": 2772, + "address": "0xDe9DbA9E9f55c430a3c9741361Ed17256f61Cca4", + "cellId": "EI-L14-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B00-C0" + }, + { + "lpbca": 14, + "branch": 0, + "class": 1, + "linearIndex": 2773, + "address": "0x54F93dFc7C36B2c63e735c864cC41757f391Cb8d", + "cellId": "EI-L14-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B00-C1" + }, + { + "lpbca": 14, + "branch": 0, + "class": 2, + "linearIndex": 2774, + "address": "0xF02c17d883656c4760661f9ecD7B9Ae760292250", + "cellId": "EI-L14-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B00-C2" + }, + { + "lpbca": 14, + "branch": 0, + "class": 3, + "linearIndex": 2775, + "address": "0x550A7D20B3DE312F6dE6A10bC1000880aCDe4409", + "cellId": "EI-L14-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B00-C3" + }, + { + "lpbca": 14, + "branch": 0, + "class": 4, + "linearIndex": 2776, + "address": "0x9aC7508309e31D000c82f41bEfa91A3E44FFD118", + "cellId": "EI-L14-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B00-C4" + }, + { + "lpbca": 14, + "branch": 0, + "class": 5, + "linearIndex": 2777, + "address": "0x83FE7427Fc760fb3d2b2E86B1c88C0D412084375", + "cellId": "EI-L14-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B00-C5" + }, + { + "lpbca": 14, + "branch": 1, + "class": 0, + "linearIndex": 2778, + "address": "0xb807423Bd7819161d3636868B90438402E89923B", + "cellId": "EI-L14-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B01-C0" + }, + { + "lpbca": 14, + "branch": 1, + "class": 1, + "linearIndex": 2779, + "address": "0x31132653F730417a45D79b29E92EF224960318CD", + "cellId": "EI-L14-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B01-C1" + }, + { + "lpbca": 14, + "branch": 1, + "class": 2, + "linearIndex": 2780, + "address": "0xD122F1a45cbAbce8ff21e7498Ecd5cC4a4a440d4", + "cellId": "EI-L14-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B01-C2" + }, + { + "lpbca": 14, + "branch": 1, + "class": 3, + "linearIndex": 2781, + "address": "0xc7484274028D7390B6212c679A225C8b083b565B", + "cellId": "EI-L14-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B01-C3" + }, + { + "lpbca": 14, + "branch": 1, + "class": 4, + "linearIndex": 2782, + "address": "0x59996AD74AA4098599d9a1F2F937aB54E693Cb6A", + "cellId": "EI-L14-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B01-C4" + }, + { + "lpbca": 14, + "branch": 1, + "class": 5, + "linearIndex": 2783, + "address": "0x19d8330af1b0D28071e36dd4385f484cb51A93be", + "cellId": "EI-L14-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B01-C5" + }, + { + "lpbca": 14, + "branch": 2, + "class": 0, + "linearIndex": 2784, + "address": "0x4D2C458756E036Bad5C2b14558254bf11C4f632c", + "cellId": "EI-L14-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B02-C0" + }, + { + "lpbca": 14, + "branch": 2, + "class": 1, + "linearIndex": 2785, + "address": "0x6dC25d4Cf208ede857F1C8c6dC51cA7316e1083a", + "cellId": "EI-L14-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B02-C1" + }, + { + "lpbca": 14, + "branch": 2, + "class": 2, + "linearIndex": 2786, + "address": "0x9e1E7de66a5dC94805a35f657814dfd2808Da3c8", + "cellId": "EI-L14-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B02-C2" + }, + { + "lpbca": 14, + "branch": 2, + "class": 3, + "linearIndex": 2787, + "address": "0x868e2321229Ff31f893b43e3f092d0B99e08e247", + "cellId": "EI-L14-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B02-C3" + }, + { + "lpbca": 14, + "branch": 2, + "class": 4, + "linearIndex": 2788, + "address": "0x56d0c731e8A9389e60Bff98d509dC463a0c57804", + "cellId": "EI-L14-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B02-C4" + }, + { + "lpbca": 14, + "branch": 2, + "class": 5, + "linearIndex": 2789, + "address": "0x23b90620891C35b2c58AE1Ea89CA6b61fA9F62A3", + "cellId": "EI-L14-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B02-C5" + }, + { + "lpbca": 14, + "branch": 3, + "class": 0, + "linearIndex": 2790, + "address": "0x82882C26fd7DA42653C2971DFb183463b0C02628", + "cellId": "EI-L14-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B03-C0" + }, + { + "lpbca": 14, + "branch": 3, + "class": 1, + "linearIndex": 2791, + "address": "0x0C779629530d5323CB68b162196c11CA0296E27F", + "cellId": "EI-L14-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B03-C1" + }, + { + "lpbca": 14, + "branch": 3, + "class": 2, + "linearIndex": 2792, + "address": "0x5153809c01ed6047793AdBE33F3eFC5d70fe6CB2", + "cellId": "EI-L14-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B03-C2" + }, + { + "lpbca": 14, + "branch": 3, + "class": 3, + "linearIndex": 2793, + "address": "0xDD179275133AE1a74ac98acE11402F2Dc64AD14f", + "cellId": "EI-L14-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B03-C3" + }, + { + "lpbca": 14, + "branch": 3, + "class": 4, + "linearIndex": 2794, + "address": "0x3BF73Ee290f8525411ED0e6C3b57073EAe19D641", + "cellId": "EI-L14-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B03-C4" + }, + { + "lpbca": 14, + "branch": 3, + "class": 5, + "linearIndex": 2795, + "address": "0x95D6097EcbA448A6C158462cF00dAa1758826a22", + "cellId": "EI-L14-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B03-C5" + }, + { + "lpbca": 14, + "branch": 4, + "class": 0, + "linearIndex": 2796, + "address": "0x9D90A4Dab577dB24DEEc6746cb6A194e170a1B4E", + "cellId": "EI-L14-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B04-C0" + }, + { + "lpbca": 14, + "branch": 4, + "class": 1, + "linearIndex": 2797, + "address": "0x1952AB429CDd59E236a486779C9278e81ce6a3b8", + "cellId": "EI-L14-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B04-C1" + }, + { + "lpbca": 14, + "branch": 4, + "class": 2, + "linearIndex": 2798, + "address": "0x7BA2c4e3a4AD39C38597FEBbb3bBb844D890Ad7b", + "cellId": "EI-L14-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B04-C2" + }, + { + "lpbca": 14, + "branch": 4, + "class": 3, + "linearIndex": 2799, + "address": "0x4090377a24E171E45765e4c416433D007eCE5d8e", + "cellId": "EI-L14-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B04-C3" + }, + { + "lpbca": 14, + "branch": 4, + "class": 4, + "linearIndex": 2800, + "address": "0x56048D86280a96dA49b8D8c9265b876A11b70f29", + "cellId": "EI-L14-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B04-C4" + }, + { + "lpbca": 14, + "branch": 4, + "class": 5, + "linearIndex": 2801, + "address": "0x54ec95dbD963e362cBfA594c82F4dd2300A00F08", + "cellId": "EI-L14-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B04-C5" + }, + { + "lpbca": 14, + "branch": 5, + "class": 0, + "linearIndex": 2802, + "address": "0x6E5807D352757eC36004F0d5D15ec0132f1D6b79", + "cellId": "EI-L14-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B05-C0" + }, + { + "lpbca": 14, + "branch": 5, + "class": 1, + "linearIndex": 2803, + "address": "0x7f12F6A64EF7F272d2E6f45441717f486525b1ca", + "cellId": "EI-L14-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B05-C1" + }, + { + "lpbca": 14, + "branch": 5, + "class": 2, + "linearIndex": 2804, + "address": "0x4c6646f41620D656FE625577F4f6a054531668Ac", + "cellId": "EI-L14-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B05-C2" + }, + { + "lpbca": 14, + "branch": 5, + "class": 3, + "linearIndex": 2805, + "address": "0x8692edece238041AA9230F9aCC29EE1696ad8090", + "cellId": "EI-L14-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B05-C3" + }, + { + "lpbca": 14, + "branch": 5, + "class": 4, + "linearIndex": 2806, + "address": "0x69E497b5bB709A174D8334316c3F72111Bc7F446", + "cellId": "EI-L14-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B05-C4" + }, + { + "lpbca": 14, + "branch": 5, + "class": 5, + "linearIndex": 2807, + "address": "0xB3306bdC4F512C86b84ED750ae876076210130eb", + "cellId": "EI-L14-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B05-C5" + }, + { + "lpbca": 14, + "branch": 6, + "class": 0, + "linearIndex": 2808, + "address": "0xED2A33274c5e3aF817473A036c5D503789aD6e1F", + "cellId": "EI-L14-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B06-C0" + }, + { + "lpbca": 14, + "branch": 6, + "class": 1, + "linearIndex": 2809, + "address": "0x195D42f784552E58F55784FA001E41Bc986a3219", + "cellId": "EI-L14-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B06-C1" + }, + { + "lpbca": 14, + "branch": 6, + "class": 2, + "linearIndex": 2810, + "address": "0x9181647749594826BC3a698A35c5B7647B5BD108", + "cellId": "EI-L14-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B06-C2" + }, + { + "lpbca": 14, + "branch": 6, + "class": 3, + "linearIndex": 2811, + "address": "0x17c50b15Ed7A1F7D1d29e9493C6Da21993Ef2271", + "cellId": "EI-L14-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B06-C3" + }, + { + "lpbca": 14, + "branch": 6, + "class": 4, + "linearIndex": 2812, + "address": "0xc8852545FD386692d17e489553aa1A004645665A", + "cellId": "EI-L14-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B06-C4" + }, + { + "lpbca": 14, + "branch": 6, + "class": 5, + "linearIndex": 2813, + "address": "0x756c4bFcd0Eb52F9946b9239EFb72654eB26a3e2", + "cellId": "EI-L14-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B06-C5" + }, + { + "lpbca": 14, + "branch": 7, + "class": 0, + "linearIndex": 2814, + "address": "0x193919cFB067AcA17e0035E5258f518734251f7e", + "cellId": "EI-L14-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B07-C0" + }, + { + "lpbca": 14, + "branch": 7, + "class": 1, + "linearIndex": 2815, + "address": "0x063f45c4837fD29900b27F18390930e38134681E", + "cellId": "EI-L14-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B07-C1" + }, + { + "lpbca": 14, + "branch": 7, + "class": 2, + "linearIndex": 2816, + "address": "0x32168D7607C2433E6E3a3fE0Af699F71c69234b5", + "cellId": "EI-L14-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B07-C2" + }, + { + "lpbca": 14, + "branch": 7, + "class": 3, + "linearIndex": 2817, + "address": "0x8B083f6eb90B99dB1bDC720a64600d98a4396ABc", + "cellId": "EI-L14-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B07-C3" + }, + { + "lpbca": 14, + "branch": 7, + "class": 4, + "linearIndex": 2818, + "address": "0xD7Fa1A59f0B522AB7f8A678BdB055040A75AAe32", + "cellId": "EI-L14-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B07-C4" + }, + { + "lpbca": 14, + "branch": 7, + "class": 5, + "linearIndex": 2819, + "address": "0xAC760b491b4eCb78332fDdcDa34e8f435531fC3B", + "cellId": "EI-L14-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B07-C5" + }, + { + "lpbca": 14, + "branch": 8, + "class": 0, + "linearIndex": 2820, + "address": "0x18e07898AB70928dAB5130C3e1a35dCBF9594eC7", + "cellId": "EI-L14-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B08-C0" + }, + { + "lpbca": 14, + "branch": 8, + "class": 1, + "linearIndex": 2821, + "address": "0x971C28c35a4fe793DDf3F289191C5f3e04FE3D12", + "cellId": "EI-L14-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B08-C1" + }, + { + "lpbca": 14, + "branch": 8, + "class": 2, + "linearIndex": 2822, + "address": "0x1Fcc6439663D3fD0516B2893757d1F9033E95532", + "cellId": "EI-L14-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B08-C2" + }, + { + "lpbca": 14, + "branch": 8, + "class": 3, + "linearIndex": 2823, + "address": "0xf23a80eD77C7Ef791A4650D9980831b2B889937e", + "cellId": "EI-L14-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B08-C3" + }, + { + "lpbca": 14, + "branch": 8, + "class": 4, + "linearIndex": 2824, + "address": "0x816a8EF0C2591601633f4fDe4367C1195EA2e2eE", + "cellId": "EI-L14-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B08-C4" + }, + { + "lpbca": 14, + "branch": 8, + "class": 5, + "linearIndex": 2825, + "address": "0xa130024D79C22296e92D3C953E6201157f0F5034", + "cellId": "EI-L14-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B08-C5" + }, + { + "lpbca": 14, + "branch": 9, + "class": 0, + "linearIndex": 2826, + "address": "0x8F59Bfcd835F8832D56e4346d08b92800B88464d", + "cellId": "EI-L14-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B09-C0" + }, + { + "lpbca": 14, + "branch": 9, + "class": 1, + "linearIndex": 2827, + "address": "0xd8f76B841d66f2D001f79c1b8652E368E6c373E7", + "cellId": "EI-L14-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B09-C1" + }, + { + "lpbca": 14, + "branch": 9, + "class": 2, + "linearIndex": 2828, + "address": "0xD352920Dcf333F6669Cc24Ab76a62E92b6eCb32D", + "cellId": "EI-L14-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B09-C2" + }, + { + "lpbca": 14, + "branch": 9, + "class": 3, + "linearIndex": 2829, + "address": "0x82430E7A2eb84758D7e482380FeA2e015E185E45", + "cellId": "EI-L14-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B09-C3" + }, + { + "lpbca": 14, + "branch": 9, + "class": 4, + "linearIndex": 2830, + "address": "0x07C2C3b0CBff6DCbA6ABfb7b130D496cC5C29B6A", + "cellId": "EI-L14-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B09-C4" + }, + { + "lpbca": 14, + "branch": 9, + "class": 5, + "linearIndex": 2831, + "address": "0x1d22b5923434BA2c06D096768d3ccb434006C432", + "cellId": "EI-L14-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B09-C5" + }, + { + "lpbca": 14, + "branch": 10, + "class": 0, + "linearIndex": 2832, + "address": "0xdb55Fc124Cd2f033B76150475C003c5831212A62", + "cellId": "EI-L14-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B10-C0" + }, + { + "lpbca": 14, + "branch": 10, + "class": 1, + "linearIndex": 2833, + "address": "0x0F63F09FAE235eeD5B85CFFED5bAD002e8f5be24", + "cellId": "EI-L14-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B10-C1" + }, + { + "lpbca": 14, + "branch": 10, + "class": 2, + "linearIndex": 2834, + "address": "0x191fA9ef963b0A295c9582aE237F9752804c3662", + "cellId": "EI-L14-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B10-C2" + }, + { + "lpbca": 14, + "branch": 10, + "class": 3, + "linearIndex": 2835, + "address": "0xE99a31F23C8f4e77D83663f88BcC9d0DD415C7C8", + "cellId": "EI-L14-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B10-C3" + }, + { + "lpbca": 14, + "branch": 10, + "class": 4, + "linearIndex": 2836, + "address": "0x05B8F80e68290D244a6a3985c55E40c5be3c1453", + "cellId": "EI-L14-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B10-C4" + }, + { + "lpbca": 14, + "branch": 10, + "class": 5, + "linearIndex": 2837, + "address": "0x06B7f39C8D2D8444deDF07bd8FC86025A8878FA3", + "cellId": "EI-L14-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B10-C5" + }, + { + "lpbca": 14, + "branch": 11, + "class": 0, + "linearIndex": 2838, + "address": "0xdfe30cCc80B3A46e267b4F5D74BD13c9a3E858FA", + "cellId": "EI-L14-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B11-C0" + }, + { + "lpbca": 14, + "branch": 11, + "class": 1, + "linearIndex": 2839, + "address": "0x5016e3049eE69Ca3d76c2fBde13aB36717590fD3", + "cellId": "EI-L14-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B11-C1" + }, + { + "lpbca": 14, + "branch": 11, + "class": 2, + "linearIndex": 2840, + "address": "0x4eFBBbecF36CBCDeb234d70ab9E0190533705A75", + "cellId": "EI-L14-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B11-C2" + }, + { + "lpbca": 14, + "branch": 11, + "class": 3, + "linearIndex": 2841, + "address": "0x6cD1079BC670BE9753B67ce48098c782FA65e6bB", + "cellId": "EI-L14-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B11-C3" + }, + { + "lpbca": 14, + "branch": 11, + "class": 4, + "linearIndex": 2842, + "address": "0xc05d1C322a565cc3fb332Ed798a8B91CFe469a20", + "cellId": "EI-L14-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B11-C4" + }, + { + "lpbca": 14, + "branch": 11, + "class": 5, + "linearIndex": 2843, + "address": "0x5a581269CFb43a030396A4991a73F27065580743", + "cellId": "EI-L14-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B11-C5" + }, + { + "lpbca": 14, + "branch": 12, + "class": 0, + "linearIndex": 2844, + "address": "0x9841fc1B322f3B94bEFb41a4FbDb93f86031eBD8", + "cellId": "EI-L14-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B12-C0" + }, + { + "lpbca": 14, + "branch": 12, + "class": 1, + "linearIndex": 2845, + "address": "0xe014fAbb55563f0996b6e24cE136621fA3eAD5eA", + "cellId": "EI-L14-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B12-C1" + }, + { + "lpbca": 14, + "branch": 12, + "class": 2, + "linearIndex": 2846, + "address": "0x11d40B4856c75AE337F0a8b9c81378F93050812B", + "cellId": "EI-L14-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B12-C2" + }, + { + "lpbca": 14, + "branch": 12, + "class": 3, + "linearIndex": 2847, + "address": "0x4BdAb31DCeA7A6bCA1fd9C127f6377a1DBB03345", + "cellId": "EI-L14-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B12-C3" + }, + { + "lpbca": 14, + "branch": 12, + "class": 4, + "linearIndex": 2848, + "address": "0xc37878530C5E88a59D5e91EEB8F971fCf38d535E", + "cellId": "EI-L14-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B12-C4" + }, + { + "lpbca": 14, + "branch": 12, + "class": 5, + "linearIndex": 2849, + "address": "0xD1dF0eC40f2F39C7d16F974Bf002A02Af31eE2AD", + "cellId": "EI-L14-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B12-C5" + }, + { + "lpbca": 14, + "branch": 13, + "class": 0, + "linearIndex": 2850, + "address": "0xd8767e8EaA9e0071e248F627F1Dd2cCfB6993768", + "cellId": "EI-L14-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B13-C0" + }, + { + "lpbca": 14, + "branch": 13, + "class": 1, + "linearIndex": 2851, + "address": "0x62fE6F62AA60e93664d32477D32473c77C902E96", + "cellId": "EI-L14-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B13-C1" + }, + { + "lpbca": 14, + "branch": 13, + "class": 2, + "linearIndex": 2852, + "address": "0x00c4D6f0D96028C2bE01eC0eb3a6580602E6fcbB", + "cellId": "EI-L14-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B13-C2" + }, + { + "lpbca": 14, + "branch": 13, + "class": 3, + "linearIndex": 2853, + "address": "0xdef0E786b17dcc85De6Ca697cE33f2c6545560D9", + "cellId": "EI-L14-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B13-C3" + }, + { + "lpbca": 14, + "branch": 13, + "class": 4, + "linearIndex": 2854, + "address": "0x2d07A465C956501E7B6c018BeD301C4C7c8D9D41", + "cellId": "EI-L14-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B13-C4" + }, + { + "lpbca": 14, + "branch": 13, + "class": 5, + "linearIndex": 2855, + "address": "0x757dd0ce85454C565a453Ce6F81edaE999729451", + "cellId": "EI-L14-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B13-C5" + }, + { + "lpbca": 14, + "branch": 14, + "class": 0, + "linearIndex": 2856, + "address": "0x91253808CcB7c8B28d61945E0b9590e695502A7B", + "cellId": "EI-L14-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B14-C0" + }, + { + "lpbca": 14, + "branch": 14, + "class": 1, + "linearIndex": 2857, + "address": "0x1C38869f7cC79828ECab0ACa2D928EbeAdcF0E7F", + "cellId": "EI-L14-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B14-C1" + }, + { + "lpbca": 14, + "branch": 14, + "class": 2, + "linearIndex": 2858, + "address": "0x8eeb3d588e093BD05dB939b431EC4f8B5b9d2224", + "cellId": "EI-L14-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B14-C2" + }, + { + "lpbca": 14, + "branch": 14, + "class": 3, + "linearIndex": 2859, + "address": "0x839FCE508de38F01FC1384d81EE38b4f7278a16b", + "cellId": "EI-L14-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B14-C3" + }, + { + "lpbca": 14, + "branch": 14, + "class": 4, + "linearIndex": 2860, + "address": "0x6bF81eEFB4F5679A0F7Cb9FCe418D4A1ED233aF1", + "cellId": "EI-L14-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B14-C4" + }, + { + "lpbca": 14, + "branch": 14, + "class": 5, + "linearIndex": 2861, + "address": "0x6A9fbc0b6d7f866f4a281e325bdA32E8aB441706", + "cellId": "EI-L14-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B14-C5" + }, + { + "lpbca": 14, + "branch": 15, + "class": 0, + "linearIndex": 2862, + "address": "0x72067Ea315eB43b314fB2e96A8Fb9eF4d6Bb631F", + "cellId": "EI-L14-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B15-C0" + }, + { + "lpbca": 14, + "branch": 15, + "class": 1, + "linearIndex": 2863, + "address": "0x9CD0301789193693A80F749C7A4A136D375E3eaf", + "cellId": "EI-L14-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B15-C1" + }, + { + "lpbca": 14, + "branch": 15, + "class": 2, + "linearIndex": 2864, + "address": "0x979C6e425444da86d91bA41C847a6b4f50f4cbaB", + "cellId": "EI-L14-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B15-C2" + }, + { + "lpbca": 14, + "branch": 15, + "class": 3, + "linearIndex": 2865, + "address": "0x1BcB3791D72139aa4419eD00E4492231355E261c", + "cellId": "EI-L14-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B15-C3" + }, + { + "lpbca": 14, + "branch": 15, + "class": 4, + "linearIndex": 2866, + "address": "0xD1c6DEf21462FD9ec1af68127671a91F31A72057", + "cellId": "EI-L14-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B15-C4" + }, + { + "lpbca": 14, + "branch": 15, + "class": 5, + "linearIndex": 2867, + "address": "0x6741241ee40b8e2aF4982bA06dd1a7A71695DD04", + "cellId": "EI-L14-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B15-C5" + }, + { + "lpbca": 14, + "branch": 16, + "class": 0, + "linearIndex": 2868, + "address": "0x106378CAd4e15CE62F2729b4A85a394242344eee", + "cellId": "EI-L14-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B16-C0" + }, + { + "lpbca": 14, + "branch": 16, + "class": 1, + "linearIndex": 2869, + "address": "0xC570df586C0A968c6E76b934c4F2c46B2Bbb9Bce", + "cellId": "EI-L14-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B16-C1" + }, + { + "lpbca": 14, + "branch": 16, + "class": 2, + "linearIndex": 2870, + "address": "0xAC7ec73a251a0b63f0818E33191F054C9e4321E2", + "cellId": "EI-L14-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B16-C2" + }, + { + "lpbca": 14, + "branch": 16, + "class": 3, + "linearIndex": 2871, + "address": "0x0BD82562911Ba142CA4B91bc34C458d562f18585", + "cellId": "EI-L14-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B16-C3" + }, + { + "lpbca": 14, + "branch": 16, + "class": 4, + "linearIndex": 2872, + "address": "0xae447Dd7097ACA2c8020EB64f65c900058538D01", + "cellId": "EI-L14-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B16-C4" + }, + { + "lpbca": 14, + "branch": 16, + "class": 5, + "linearIndex": 2873, + "address": "0xF9Da642c3ec6917bB373D394cbdc7b543A5409fE", + "cellId": "EI-L14-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B16-C5" + }, + { + "lpbca": 14, + "branch": 17, + "class": 0, + "linearIndex": 2874, + "address": "0x18AE9C3509bb03E7cB62F6aD0192a695b1D24626", + "cellId": "EI-L14-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B17-C0" + }, + { + "lpbca": 14, + "branch": 17, + "class": 1, + "linearIndex": 2875, + "address": "0xf68561A5BF917ae96c994418Fe26e67114aE301B", + "cellId": "EI-L14-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B17-C1" + }, + { + "lpbca": 14, + "branch": 17, + "class": 2, + "linearIndex": 2876, + "address": "0xf6B750069a884aebDC61092eefD5E86965787f1A", + "cellId": "EI-L14-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B17-C2" + }, + { + "lpbca": 14, + "branch": 17, + "class": 3, + "linearIndex": 2877, + "address": "0x8eBFa4b850A5D949Ae14B27A8814B18DcA61920E", + "cellId": "EI-L14-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B17-C3" + }, + { + "lpbca": 14, + "branch": 17, + "class": 4, + "linearIndex": 2878, + "address": "0xE7920D251ccE79E49A7a14e86b9E8cB5dc653a7c", + "cellId": "EI-L14-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B17-C4" + }, + { + "lpbca": 14, + "branch": 17, + "class": 5, + "linearIndex": 2879, + "address": "0x9E6c6F416DcbF5c418d787eD8663C6102744E31c", + "cellId": "EI-L14-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B17-C5" + }, + { + "lpbca": 14, + "branch": 18, + "class": 0, + "linearIndex": 2880, + "address": "0x5B0afc32A9442C37E2473089e4fF757869E88bB2", + "cellId": "EI-L14-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B18-C0" + }, + { + "lpbca": 14, + "branch": 18, + "class": 1, + "linearIndex": 2881, + "address": "0xF42EA6D757e2087B95d9E410e8e857Cf26043F88", + "cellId": "EI-L14-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B18-C1" + }, + { + "lpbca": 14, + "branch": 18, + "class": 2, + "linearIndex": 2882, + "address": "0x913253BeCc30BA1073b8024aca47AF6E0f2450A8", + "cellId": "EI-L14-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B18-C2" + }, + { + "lpbca": 14, + "branch": 18, + "class": 3, + "linearIndex": 2883, + "address": "0xAEd82aE738dFBb7a720a857C3bC4c6a3111cDFb8", + "cellId": "EI-L14-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B18-C3" + }, + { + "lpbca": 14, + "branch": 18, + "class": 4, + "linearIndex": 2884, + "address": "0x4e82fCAe2Edd7bb4690c7bc3F26b8aaE7808bCaA", + "cellId": "EI-L14-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B18-C4" + }, + { + "lpbca": 14, + "branch": 18, + "class": 5, + "linearIndex": 2885, + "address": "0x4620BdBa95aef14C3E565449a3e1F1a372eCe9f0", + "cellId": "EI-L14-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B18-C5" + }, + { + "lpbca": 14, + "branch": 19, + "class": 0, + "linearIndex": 2886, + "address": "0xC58c0460849BE6dE0ada2F1AE3a87c461825A119", + "cellId": "EI-L14-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B19-C0" + }, + { + "lpbca": 14, + "branch": 19, + "class": 1, + "linearIndex": 2887, + "address": "0x99935A189BB1DDFade4BD008Ab28E3861fE4c34d", + "cellId": "EI-L14-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B19-C1" + }, + { + "lpbca": 14, + "branch": 19, + "class": 2, + "linearIndex": 2888, + "address": "0x00c0119307f282973f444Bba6245f1e344d052E1", + "cellId": "EI-L14-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B19-C2" + }, + { + "lpbca": 14, + "branch": 19, + "class": 3, + "linearIndex": 2889, + "address": "0x327A86Eb7B396CfCcb849A5a1Fbd81Ff7C17a053", + "cellId": "EI-L14-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B19-C3" + }, + { + "lpbca": 14, + "branch": 19, + "class": 4, + "linearIndex": 2890, + "address": "0x8340888d6785Ec36eF5f697e7cC90b93aF6609a9", + "cellId": "EI-L14-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B19-C4" + }, + { + "lpbca": 14, + "branch": 19, + "class": 5, + "linearIndex": 2891, + "address": "0xd6D1c62AeffB9699Bd1517F5Ce36a3BF180544Ee", + "cellId": "EI-L14-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B19-C5" + }, + { + "lpbca": 14, + "branch": 20, + "class": 0, + "linearIndex": 2892, + "address": "0x9937EF0393Dd702bd86cEfFC66fA6976B98E84Ca", + "cellId": "EI-L14-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B20-C0" + }, + { + "lpbca": 14, + "branch": 20, + "class": 1, + "linearIndex": 2893, + "address": "0xBcB1F04e3e05Ec6a331De64f41DEF527858518fA", + "cellId": "EI-L14-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B20-C1" + }, + { + "lpbca": 14, + "branch": 20, + "class": 2, + "linearIndex": 2894, + "address": "0xDc45CFccB3dccBc84e0F69af83a081a8420C236d", + "cellId": "EI-L14-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B20-C2" + }, + { + "lpbca": 14, + "branch": 20, + "class": 3, + "linearIndex": 2895, + "address": "0x459715931De659C7C0bfd50CD790c9047D3C53df", + "cellId": "EI-L14-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B20-C3" + }, + { + "lpbca": 14, + "branch": 20, + "class": 4, + "linearIndex": 2896, + "address": "0x70D7C2060FEC444Ad6Bc8Ac98DA8d689C6DdB97E", + "cellId": "EI-L14-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B20-C4" + }, + { + "lpbca": 14, + "branch": 20, + "class": 5, + "linearIndex": 2897, + "address": "0x660041B002Ee15c356942Ac2E9641fd85319909D", + "cellId": "EI-L14-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B20-C5" + }, + { + "lpbca": 14, + "branch": 21, + "class": 0, + "linearIndex": 2898, + "address": "0x7F997F47eF57872B7366D96D92eEf88902a7AC9a", + "cellId": "EI-L14-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B21-C0" + }, + { + "lpbca": 14, + "branch": 21, + "class": 1, + "linearIndex": 2899, + "address": "0x205Ad58B12B39072cAFFD6c5aDE127Ba830D6369", + "cellId": "EI-L14-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B21-C1" + }, + { + "lpbca": 14, + "branch": 21, + "class": 2, + "linearIndex": 2900, + "address": "0xE7263A3766FF0655eEFF7e889889Ee43833C17ed", + "cellId": "EI-L14-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B21-C2" + }, + { + "lpbca": 14, + "branch": 21, + "class": 3, + "linearIndex": 2901, + "address": "0x385d2BfB6408c68531483EaeA128129a10728458", + "cellId": "EI-L14-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B21-C3" + }, + { + "lpbca": 14, + "branch": 21, + "class": 4, + "linearIndex": 2902, + "address": "0x1E0665a0309D6997E712E1BC87BA176c86a5aab0", + "cellId": "EI-L14-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B21-C4" + }, + { + "lpbca": 14, + "branch": 21, + "class": 5, + "linearIndex": 2903, + "address": "0xC70C19fA1222aA8e6F8E75eA9Ce6b981A4E7AE8A", + "cellId": "EI-L14-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B21-C5" + }, + { + "lpbca": 14, + "branch": 22, + "class": 0, + "linearIndex": 2904, + "address": "0xD581cc5A185c16c856c734c50e82C9F0E846C35e", + "cellId": "EI-L14-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B22-C0" + }, + { + "lpbca": 14, + "branch": 22, + "class": 1, + "linearIndex": 2905, + "address": "0x14eD071Bf041A763D52F892E694132D9fEdcaE5D", + "cellId": "EI-L14-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B22-C1" + }, + { + "lpbca": 14, + "branch": 22, + "class": 2, + "linearIndex": 2906, + "address": "0x4F2d415364F450D8458646078ab6D86D7934dCf7", + "cellId": "EI-L14-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B22-C2" + }, + { + "lpbca": 14, + "branch": 22, + "class": 3, + "linearIndex": 2907, + "address": "0x96F56a9db8Ee6140940D9865157AA11b23Fd605D", + "cellId": "EI-L14-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B22-C3" + }, + { + "lpbca": 14, + "branch": 22, + "class": 4, + "linearIndex": 2908, + "address": "0x7CCe9619262f01fC3DD618b75fB37aAc4B91D6B6", + "cellId": "EI-L14-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B22-C4" + }, + { + "lpbca": 14, + "branch": 22, + "class": 5, + "linearIndex": 2909, + "address": "0xF064F2Ef2fF37156e824a068E9Ceb0Eb18F7CBCA", + "cellId": "EI-L14-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B22-C5" + }, + { + "lpbca": 14, + "branch": 23, + "class": 0, + "linearIndex": 2910, + "address": "0xf069e81594b43F0bA19f3e1F0B796ca04465a4E7", + "cellId": "EI-L14-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B23-C0" + }, + { + "lpbca": 14, + "branch": 23, + "class": 1, + "linearIndex": 2911, + "address": "0x4724ab0c999519427457dBD524E6Da6354a8e333", + "cellId": "EI-L14-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B23-C1" + }, + { + "lpbca": 14, + "branch": 23, + "class": 2, + "linearIndex": 2912, + "address": "0x7372803d013798ACe5f101A7641E652e3D7A7d34", + "cellId": "EI-L14-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B23-C2" + }, + { + "lpbca": 14, + "branch": 23, + "class": 3, + "linearIndex": 2913, + "address": "0xeC048ee2dAEc1785Fb6c6942f16c189822d1e51b", + "cellId": "EI-L14-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B23-C3" + }, + { + "lpbca": 14, + "branch": 23, + "class": 4, + "linearIndex": 2914, + "address": "0xC3E637fd55b1e8C548FA502281872b8276FDE7Bd", + "cellId": "EI-L14-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B23-C4" + }, + { + "lpbca": 14, + "branch": 23, + "class": 5, + "linearIndex": 2915, + "address": "0x2e7d73daDFd3bdBae26419040fd6b453B3D53CCB", + "cellId": "EI-L14-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B23-C5" + }, + { + "lpbca": 14, + "branch": 24, + "class": 0, + "linearIndex": 2916, + "address": "0x69D7442A18f807e414f1A2578F85b3bF13d031a3", + "cellId": "EI-L14-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B24-C0" + }, + { + "lpbca": 14, + "branch": 24, + "class": 1, + "linearIndex": 2917, + "address": "0x73Ee0E403Ee3e886ca98FE84b49C6acEf8C3cE50", + "cellId": "EI-L14-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B24-C1" + }, + { + "lpbca": 14, + "branch": 24, + "class": 2, + "linearIndex": 2918, + "address": "0xb98fAC25f2E769b616E3B87cb00747fAE556c642", + "cellId": "EI-L14-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B24-C2" + }, + { + "lpbca": 14, + "branch": 24, + "class": 3, + "linearIndex": 2919, + "address": "0xE2fa72E911E35c136f532C7AF57c32a8CD5c28b2", + "cellId": "EI-L14-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B24-C3" + }, + { + "lpbca": 14, + "branch": 24, + "class": 4, + "linearIndex": 2920, + "address": "0x1Be48c17c573eA4AeF52cC904DeDA47c43e6F624", + "cellId": "EI-L14-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B24-C4" + }, + { + "lpbca": 14, + "branch": 24, + "class": 5, + "linearIndex": 2921, + "address": "0xe4393853658BB463682756aDA7c3A77D39ad3449", + "cellId": "EI-L14-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B24-C5" + }, + { + "lpbca": 14, + "branch": 25, + "class": 0, + "linearIndex": 2922, + "address": "0xE461BA2b9Aa2de189C4bfEF3149405aC4bFDA142", + "cellId": "EI-L14-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B25-C0" + }, + { + "lpbca": 14, + "branch": 25, + "class": 1, + "linearIndex": 2923, + "address": "0x85583DeFd3d20a6db39D9ACE10BC1207C808DD01", + "cellId": "EI-L14-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B25-C1" + }, + { + "lpbca": 14, + "branch": 25, + "class": 2, + "linearIndex": 2924, + "address": "0x0919c0F52c39c0A56DEcC39bf14bE6ABe97AA83A", + "cellId": "EI-L14-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B25-C2" + }, + { + "lpbca": 14, + "branch": 25, + "class": 3, + "linearIndex": 2925, + "address": "0x0B0f9FF9E49052ea31D22386a61777c98426Acf0", + "cellId": "EI-L14-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B25-C3" + }, + { + "lpbca": 14, + "branch": 25, + "class": 4, + "linearIndex": 2926, + "address": "0x09Be70d240dcc2aEd6A8BC610AeF86A0040f029d", + "cellId": "EI-L14-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B25-C4" + }, + { + "lpbca": 14, + "branch": 25, + "class": 5, + "linearIndex": 2927, + "address": "0x1550Dba0DcbBcd10544E034D5a12e6a26642c7F1", + "cellId": "EI-L14-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B25-C5" + }, + { + "lpbca": 14, + "branch": 26, + "class": 0, + "linearIndex": 2928, + "address": "0x4fE24c61a5C49b7Fd9f393A7b1a358632AE58a66", + "cellId": "EI-L14-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B26-C0" + }, + { + "lpbca": 14, + "branch": 26, + "class": 1, + "linearIndex": 2929, + "address": "0x3F8EeDd2917cEb5237812033C494Db3C15384b04", + "cellId": "EI-L14-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B26-C1" + }, + { + "lpbca": 14, + "branch": 26, + "class": 2, + "linearIndex": 2930, + "address": "0xaC9f846EaA716006e5d48762DDC97F9cD6528807", + "cellId": "EI-L14-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B26-C2" + }, + { + "lpbca": 14, + "branch": 26, + "class": 3, + "linearIndex": 2931, + "address": "0xa77aA671Bde62415Bbbe5389ef4d21C6e08ddCA3", + "cellId": "EI-L14-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B26-C3" + }, + { + "lpbca": 14, + "branch": 26, + "class": 4, + "linearIndex": 2932, + "address": "0x5B2d828cab5589d3F7eCeCc92B90De0485BF2A4B", + "cellId": "EI-L14-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B26-C4" + }, + { + "lpbca": 14, + "branch": 26, + "class": 5, + "linearIndex": 2933, + "address": "0xC23FEa28c67442F0121D7Ef9F404509437A44c40", + "cellId": "EI-L14-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B26-C5" + }, + { + "lpbca": 14, + "branch": 27, + "class": 0, + "linearIndex": 2934, + "address": "0x874a440a073acD7221F99FF15919184B5AaB471c", + "cellId": "EI-L14-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B27-C0" + }, + { + "lpbca": 14, + "branch": 27, + "class": 1, + "linearIndex": 2935, + "address": "0x0EAb4937a42E9F14bB86722A79c13bb4Af9c80e9", + "cellId": "EI-L14-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B27-C1" + }, + { + "lpbca": 14, + "branch": 27, + "class": 2, + "linearIndex": 2936, + "address": "0x1316FfFD8983C79c7333117A2A6525AF5388824c", + "cellId": "EI-L14-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B27-C2" + }, + { + "lpbca": 14, + "branch": 27, + "class": 3, + "linearIndex": 2937, + "address": "0x182045F0F5e7ec115A7A42BedB330E775AB3e006", + "cellId": "EI-L14-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B27-C3" + }, + { + "lpbca": 14, + "branch": 27, + "class": 4, + "linearIndex": 2938, + "address": "0xb019Ce63F362E29CED4473DB9818820E08c2a194", + "cellId": "EI-L14-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B27-C4" + }, + { + "lpbca": 14, + "branch": 27, + "class": 5, + "linearIndex": 2939, + "address": "0x972e5cb33fdc0D4583C528Bd665633CBF21B91Be", + "cellId": "EI-L14-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B27-C5" + }, + { + "lpbca": 14, + "branch": 28, + "class": 0, + "linearIndex": 2940, + "address": "0x5a476c206E072a5C7F01061c7510831401E26A1B", + "cellId": "EI-L14-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B28-C0" + }, + { + "lpbca": 14, + "branch": 28, + "class": 1, + "linearIndex": 2941, + "address": "0xeD4c1894DdcE6b5c1E2F0E990c3A6F98965b37b5", + "cellId": "EI-L14-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B28-C1" + }, + { + "lpbca": 14, + "branch": 28, + "class": 2, + "linearIndex": 2942, + "address": "0x22b051DB3879a65b9EfeB832F6954d24e7871E75", + "cellId": "EI-L14-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B28-C2" + }, + { + "lpbca": 14, + "branch": 28, + "class": 3, + "linearIndex": 2943, + "address": "0x6f8CA2F035B8054DaF9579d32De2bba62c1A2988", + "cellId": "EI-L14-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B28-C3" + }, + { + "lpbca": 14, + "branch": 28, + "class": 4, + "linearIndex": 2944, + "address": "0xD40c6603BcB3747F5aD523f11F1938156Cc16376", + "cellId": "EI-L14-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B28-C4" + }, + { + "lpbca": 14, + "branch": 28, + "class": 5, + "linearIndex": 2945, + "address": "0x430d7c6b70dBE4D9f5B67d1A4579B0134F6a57e5", + "cellId": "EI-L14-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B28-C5" + }, + { + "lpbca": 14, + "branch": 29, + "class": 0, + "linearIndex": 2946, + "address": "0x6d69d2397f56C508B6e83cC28D14d1Fb811ef90f", + "cellId": "EI-L14-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B29-C0" + }, + { + "lpbca": 14, + "branch": 29, + "class": 1, + "linearIndex": 2947, + "address": "0x022fe8Fba835218617f6659BcbAEB749C0Aa2415", + "cellId": "EI-L14-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B29-C1" + }, + { + "lpbca": 14, + "branch": 29, + "class": 2, + "linearIndex": 2948, + "address": "0xa4556AF753782eEA65BdCc3ea36a03b9374dd23d", + "cellId": "EI-L14-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B29-C2" + }, + { + "lpbca": 14, + "branch": 29, + "class": 3, + "linearIndex": 2949, + "address": "0x82958114CE54F5D0C33873d3487fd9828E6E5e0a", + "cellId": "EI-L14-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B29-C3" + }, + { + "lpbca": 14, + "branch": 29, + "class": 4, + "linearIndex": 2950, + "address": "0xaf80e98332AEFD0131aD433a62F14A8Da5C9c7B7", + "cellId": "EI-L14-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B29-C4" + }, + { + "lpbca": 14, + "branch": 29, + "class": 5, + "linearIndex": 2951, + "address": "0xA8Eeff2EBCBF73B5b4bFa3865839c6ACcF0daC2c", + "cellId": "EI-L14-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B29-C5" + }, + { + "lpbca": 14, + "branch": 30, + "class": 0, + "linearIndex": 2952, + "address": "0xC36c73f74f765556191010BFd02D537239E552d2", + "cellId": "EI-L14-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B30-C0" + }, + { + "lpbca": 14, + "branch": 30, + "class": 1, + "linearIndex": 2953, + "address": "0x7172D5DeC450Ffe9C97285028F73A1C43907712A", + "cellId": "EI-L14-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B30-C1" + }, + { + "lpbca": 14, + "branch": 30, + "class": 2, + "linearIndex": 2954, + "address": "0x9e3ad2F1A99B73a8CB093cC3bd4d9177D42168e0", + "cellId": "EI-L14-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B30-C2" + }, + { + "lpbca": 14, + "branch": 30, + "class": 3, + "linearIndex": 2955, + "address": "0x18BC1AdF11D6bbeB609b1560B1E5F95fECaC7D87", + "cellId": "EI-L14-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B30-C3" + }, + { + "lpbca": 14, + "branch": 30, + "class": 4, + "linearIndex": 2956, + "address": "0xc266b6EDCF8b58d940789eE662C75a5277830306", + "cellId": "EI-L14-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B30-C4" + }, + { + "lpbca": 14, + "branch": 30, + "class": 5, + "linearIndex": 2957, + "address": "0x7Faf734EA9e26AA9dE705A0Dde92A30a4C73Afaf", + "cellId": "EI-L14-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B30-C5" + }, + { + "lpbca": 14, + "branch": 31, + "class": 0, + "linearIndex": 2958, + "address": "0xCE7eCFa29EdCDCE0a07299831A0dd00322EddfeB", + "cellId": "EI-L14-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B31-C0" + }, + { + "lpbca": 14, + "branch": 31, + "class": 1, + "linearIndex": 2959, + "address": "0x2B9c802A9574e9Cf8D1EDfed224353A9C274ACAD", + "cellId": "EI-L14-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B31-C1" + }, + { + "lpbca": 14, + "branch": 31, + "class": 2, + "linearIndex": 2960, + "address": "0x9C3c915042a0b643aa968265514423526C91816E", + "cellId": "EI-L14-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B31-C2" + }, + { + "lpbca": 14, + "branch": 31, + "class": 3, + "linearIndex": 2961, + "address": "0xa828941B38a32047D737C1F5b6f150B8Abd96Ed0", + "cellId": "EI-L14-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B31-C3" + }, + { + "lpbca": 14, + "branch": 31, + "class": 4, + "linearIndex": 2962, + "address": "0x4b8D65FC493499d8FC37A3771689607d60e4770D", + "cellId": "EI-L14-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B31-C4" + }, + { + "lpbca": 14, + "branch": 31, + "class": 5, + "linearIndex": 2963, + "address": "0xFc4AF836eE3807bCE602102d28293DAcf8C908d3", + "cellId": "EI-L14-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B31-C5" + }, + { + "lpbca": 14, + "branch": 32, + "class": 0, + "linearIndex": 2964, + "address": "0x8b42667e4A7dAc21313A83Df16E57b3963Ef9cA4", + "cellId": "EI-L14-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B32-C0" + }, + { + "lpbca": 14, + "branch": 32, + "class": 1, + "linearIndex": 2965, + "address": "0x580BE7e04873F8Df00623fA2D3aaacC042A9EEf5", + "cellId": "EI-L14-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B32-C1" + }, + { + "lpbca": 14, + "branch": 32, + "class": 2, + "linearIndex": 2966, + "address": "0xe0d8eC570de8308fce19698f2FcA8Fd730ED86e9", + "cellId": "EI-L14-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B32-C2" + }, + { + "lpbca": 14, + "branch": 32, + "class": 3, + "linearIndex": 2967, + "address": "0x0a159f349779311A723e9b989a18FA7Dc3b43D6B", + "cellId": "EI-L14-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B32-C3" + }, + { + "lpbca": 14, + "branch": 32, + "class": 4, + "linearIndex": 2968, + "address": "0xfcdC859e192E34160C2e97B04c93A0C00f7432c5", + "cellId": "EI-L14-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B32-C4" + }, + { + "lpbca": 14, + "branch": 32, + "class": 5, + "linearIndex": 2969, + "address": "0xea4862cB3482a3FBD52D3139318a3D1d16f7538e", + "cellId": "EI-L14-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L14-B32-C5" + }, + { + "lpbca": 15, + "branch": 0, + "class": 0, + "linearIndex": 2970, + "address": "0x30Ee0ece663f63beABD25eFDF52C665d1e795e6d", + "cellId": "EI-L15-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B00-C0" + }, + { + "lpbca": 15, + "branch": 0, + "class": 1, + "linearIndex": 2971, + "address": "0x9f1A6E3D98DF06C2f7838AF3c4c71070c91486d6", + "cellId": "EI-L15-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B00-C1" + }, + { + "lpbca": 15, + "branch": 0, + "class": 2, + "linearIndex": 2972, + "address": "0xE9B675634a937e70359EC80fe9796E5fb624B86e", + "cellId": "EI-L15-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B00-C2" + }, + { + "lpbca": 15, + "branch": 0, + "class": 3, + "linearIndex": 2973, + "address": "0x9f52da6cd1D8af017cE12513d690fBaB50163921", + "cellId": "EI-L15-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B00-C3" + }, + { + "lpbca": 15, + "branch": 0, + "class": 4, + "linearIndex": 2974, + "address": "0x0b828027Ff00225ad56ea13B8cE77c725E0b1EFD", + "cellId": "EI-L15-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B00-C4" + }, + { + "lpbca": 15, + "branch": 0, + "class": 5, + "linearIndex": 2975, + "address": "0x055d8F7A711D8584D1C86aE7043F226FD9463159", + "cellId": "EI-L15-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B00-C5" + }, + { + "lpbca": 15, + "branch": 1, + "class": 0, + "linearIndex": 2976, + "address": "0xe4FA35e65c3Bfe724C9fa86F08e18F0058796598", + "cellId": "EI-L15-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B01-C0" + }, + { + "lpbca": 15, + "branch": 1, + "class": 1, + "linearIndex": 2977, + "address": "0x2c89B3aB3D7cf89f5B7CdBEdD48E40f1928BCB56", + "cellId": "EI-L15-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B01-C1" + }, + { + "lpbca": 15, + "branch": 1, + "class": 2, + "linearIndex": 2978, + "address": "0x49eE15dc29d0660c76aA965Da9e9550602a8fF49", + "cellId": "EI-L15-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B01-C2" + }, + { + "lpbca": 15, + "branch": 1, + "class": 3, + "linearIndex": 2979, + "address": "0xB5F8f7Bc0dD33d42B0A15F8945aAc1c4Bc1a7813", + "cellId": "EI-L15-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B01-C3" + }, + { + "lpbca": 15, + "branch": 1, + "class": 4, + "linearIndex": 2980, + "address": "0x98Ff13D853C03919e77EEEB1158F6d212Ee2F55A", + "cellId": "EI-L15-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B01-C4" + }, + { + "lpbca": 15, + "branch": 1, + "class": 5, + "linearIndex": 2981, + "address": "0xd24A672D2345188e79571194D495F5f790B90732", + "cellId": "EI-L15-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B01-C5" + }, + { + "lpbca": 15, + "branch": 2, + "class": 0, + "linearIndex": 2982, + "address": "0x79427Aa637D1EDA7D29ACf733703f583C364f4bA", + "cellId": "EI-L15-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B02-C0" + }, + { + "lpbca": 15, + "branch": 2, + "class": 1, + "linearIndex": 2983, + "address": "0xf4597Fe001227ebd475568EF1c70B07B0f3Ca86C", + "cellId": "EI-L15-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B02-C1" + }, + { + "lpbca": 15, + "branch": 2, + "class": 2, + "linearIndex": 2984, + "address": "0x119e202bf2e416C8598b909D6E5F4fEF5C27e84c", + "cellId": "EI-L15-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B02-C2" + }, + { + "lpbca": 15, + "branch": 2, + "class": 3, + "linearIndex": 2985, + "address": "0xE44FE930E4da0014593AB3063EDFAEaF9A2aA312", + "cellId": "EI-L15-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B02-C3" + }, + { + "lpbca": 15, + "branch": 2, + "class": 4, + "linearIndex": 2986, + "address": "0xC02EC305Bc0D6663e18B85c27902FDddF55e9049", + "cellId": "EI-L15-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B02-C4" + }, + { + "lpbca": 15, + "branch": 2, + "class": 5, + "linearIndex": 2987, + "address": "0x24fE757FE4C557d40Fd74499E8500E6dca71925A", + "cellId": "EI-L15-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B02-C5" + }, + { + "lpbca": 15, + "branch": 3, + "class": 0, + "linearIndex": 2988, + "address": "0x3F2A2b24DEDDC4Bd0383E80994809cF7b2F585a8", + "cellId": "EI-L15-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B03-C0" + }, + { + "lpbca": 15, + "branch": 3, + "class": 1, + "linearIndex": 2989, + "address": "0x487F28E3c8E2375A73bA8BB32a66d4925D6eb635", + "cellId": "EI-L15-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B03-C1" + }, + { + "lpbca": 15, + "branch": 3, + "class": 2, + "linearIndex": 2990, + "address": "0xfe5a8d8308f9157FA61592fbB2b5CD7B04b9ca64", + "cellId": "EI-L15-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B03-C2" + }, + { + "lpbca": 15, + "branch": 3, + "class": 3, + "linearIndex": 2991, + "address": "0x296b62729C4b4AE45A4F35217C3BA9e9DaA2E0B2", + "cellId": "EI-L15-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B03-C3" + }, + { + "lpbca": 15, + "branch": 3, + "class": 4, + "linearIndex": 2992, + "address": "0xb05Bd79B77bf02A0eB6a99b858d20F354bAA91Ab", + "cellId": "EI-L15-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B03-C4" + }, + { + "lpbca": 15, + "branch": 3, + "class": 5, + "linearIndex": 2993, + "address": "0x9A295DFe0b80afB0F626A28c08e15290b701B4f0", + "cellId": "EI-L15-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B03-C5" + }, + { + "lpbca": 15, + "branch": 4, + "class": 0, + "linearIndex": 2994, + "address": "0xd6efDE317e1C8e2dC5fe64d3E3339EFCe2d47362", + "cellId": "EI-L15-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B04-C0" + }, + { + "lpbca": 15, + "branch": 4, + "class": 1, + "linearIndex": 2995, + "address": "0x5351b432411f7365B251883580FdeBcB7d3b3ec8", + "cellId": "EI-L15-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B04-C1" + }, + { + "lpbca": 15, + "branch": 4, + "class": 2, + "linearIndex": 2996, + "address": "0x04Bc046a3d6135b02e06267d998c00C40C3dD3a4", + "cellId": "EI-L15-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B04-C2" + }, + { + "lpbca": 15, + "branch": 4, + "class": 3, + "linearIndex": 2997, + "address": "0x831a8c6bC6eDC86606dcD967F3bfa83e9E10de95", + "cellId": "EI-L15-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B04-C3" + }, + { + "lpbca": 15, + "branch": 4, + "class": 4, + "linearIndex": 2998, + "address": "0xe2f23781B0D276EEeD9d29d4b2a95F13370E61BD", + "cellId": "EI-L15-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B04-C4" + }, + { + "lpbca": 15, + "branch": 4, + "class": 5, + "linearIndex": 2999, + "address": "0x7d2B175c3B4B61fB098F6f777E6a70Dc8E4f8FBA", + "cellId": "EI-L15-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B04-C5" + }, + { + "lpbca": 15, + "branch": 5, + "class": 0, + "linearIndex": 3000, + "address": "0xCB6cD2DAe875991141f15e71b0dC8e21b7B27Cdd", + "cellId": "EI-L15-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B05-C0" + }, + { + "lpbca": 15, + "branch": 5, + "class": 1, + "linearIndex": 3001, + "address": "0xCa366a9A0B294436b4D00918B3390D2c87825779", + "cellId": "EI-L15-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B05-C1" + }, + { + "lpbca": 15, + "branch": 5, + "class": 2, + "linearIndex": 3002, + "address": "0x72436fE1b9e703fA5A18701Dd3Dbc0422C6aB152", + "cellId": "EI-L15-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B05-C2" + }, + { + "lpbca": 15, + "branch": 5, + "class": 3, + "linearIndex": 3003, + "address": "0xC388491Bb50FA4d4798A73807Cb9BF3b8240ca9f", + "cellId": "EI-L15-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B05-C3" + }, + { + "lpbca": 15, + "branch": 5, + "class": 4, + "linearIndex": 3004, + "address": "0x6c00F18a289f7EBef77DC73851bA10a4fa2bCe6F", + "cellId": "EI-L15-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B05-C4" + }, + { + "lpbca": 15, + "branch": 5, + "class": 5, + "linearIndex": 3005, + "address": "0xc2f32cfb023cb7bE836c845AdC99F33782B742e6", + "cellId": "EI-L15-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B05-C5" + }, + { + "lpbca": 15, + "branch": 6, + "class": 0, + "linearIndex": 3006, + "address": "0xC19D4311995C6cfCc5BDAD5821D6055930019f72", + "cellId": "EI-L15-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B06-C0" + }, + { + "lpbca": 15, + "branch": 6, + "class": 1, + "linearIndex": 3007, + "address": "0xbc7B07F54412d68E95f20f7b63Bcb6F022c1f00d", + "cellId": "EI-L15-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B06-C1" + }, + { + "lpbca": 15, + "branch": 6, + "class": 2, + "linearIndex": 3008, + "address": "0xe7dc5355Bd2DF58F3Ec098453E4c334ACEa3cdE1", + "cellId": "EI-L15-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B06-C2" + }, + { + "lpbca": 15, + "branch": 6, + "class": 3, + "linearIndex": 3009, + "address": "0x1Fa18176F1b677b48ea993133469B9Ca79AcD61a", + "cellId": "EI-L15-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B06-C3" + }, + { + "lpbca": 15, + "branch": 6, + "class": 4, + "linearIndex": 3010, + "address": "0x82062be3328Fca0126008708219337709Aa5903c", + "cellId": "EI-L15-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B06-C4" + }, + { + "lpbca": 15, + "branch": 6, + "class": 5, + "linearIndex": 3011, + "address": "0xFA91373ee6AfEA2d2285BeADCcb49b80779dA545", + "cellId": "EI-L15-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B06-C5" + }, + { + "lpbca": 15, + "branch": 7, + "class": 0, + "linearIndex": 3012, + "address": "0x6cc965Bc1Ecbecf40DDbDb8Cc857473026F64bC4", + "cellId": "EI-L15-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B07-C0" + }, + { + "lpbca": 15, + "branch": 7, + "class": 1, + "linearIndex": 3013, + "address": "0x4f7c124EB3d4f159e8ED71aEDDD8c5FB2328DA79", + "cellId": "EI-L15-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B07-C1" + }, + { + "lpbca": 15, + "branch": 7, + "class": 2, + "linearIndex": 3014, + "address": "0xE31E8024584209fAD4F414E073005De9b9fAe290", + "cellId": "EI-L15-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B07-C2" + }, + { + "lpbca": 15, + "branch": 7, + "class": 3, + "linearIndex": 3015, + "address": "0x42E92C2FD5560C535ff00E52689fED9A33ab8671", + "cellId": "EI-L15-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B07-C3" + }, + { + "lpbca": 15, + "branch": 7, + "class": 4, + "linearIndex": 3016, + "address": "0xB6D1b20bEb9526228fA39D5D15f23C528eA699C5", + "cellId": "EI-L15-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B07-C4" + }, + { + "lpbca": 15, + "branch": 7, + "class": 5, + "linearIndex": 3017, + "address": "0xAbD53B76240AC123df2210d30F9F93A1C5f226F5", + "cellId": "EI-L15-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B07-C5" + }, + { + "lpbca": 15, + "branch": 8, + "class": 0, + "linearIndex": 3018, + "address": "0xB534C9DC12ED0B2d35fF2189BA667B441Fa20cf7", + "cellId": "EI-L15-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B08-C0" + }, + { + "lpbca": 15, + "branch": 8, + "class": 1, + "linearIndex": 3019, + "address": "0x58C24A9791450e3ED01C5e2c7fc084376639991a", + "cellId": "EI-L15-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B08-C1" + }, + { + "lpbca": 15, + "branch": 8, + "class": 2, + "linearIndex": 3020, + "address": "0x28E2BB62577232af803c2d45784fe037ABD3Ae5a", + "cellId": "EI-L15-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B08-C2" + }, + { + "lpbca": 15, + "branch": 8, + "class": 3, + "linearIndex": 3021, + "address": "0x95287BfdFf43616297d55E0D8f1fF782f7b1A1dF", + "cellId": "EI-L15-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B08-C3" + }, + { + "lpbca": 15, + "branch": 8, + "class": 4, + "linearIndex": 3022, + "address": "0x556Ee1b7d332935556A7FaF38F91B857401a4e77", + "cellId": "EI-L15-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B08-C4" + }, + { + "lpbca": 15, + "branch": 8, + "class": 5, + "linearIndex": 3023, + "address": "0x5b5e729f720934296bC64a2A392FC6D4E5822232", + "cellId": "EI-L15-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B08-C5" + }, + { + "lpbca": 15, + "branch": 9, + "class": 0, + "linearIndex": 3024, + "address": "0x4E2947de9e5f3b48C7197245fF66b0B90d8cf144", + "cellId": "EI-L15-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B09-C0" + }, + { + "lpbca": 15, + "branch": 9, + "class": 1, + "linearIndex": 3025, + "address": "0x1638df8806431550A5b22F98903B822D19E27909", + "cellId": "EI-L15-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B09-C1" + }, + { + "lpbca": 15, + "branch": 9, + "class": 2, + "linearIndex": 3026, + "address": "0x5E345aA1b75fd746ad01DE51A616196017940D41", + "cellId": "EI-L15-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B09-C2" + }, + { + "lpbca": 15, + "branch": 9, + "class": 3, + "linearIndex": 3027, + "address": "0x4f6Da12EFBa47354F491E33338C8D69cD6d6ae0c", + "cellId": "EI-L15-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B09-C3" + }, + { + "lpbca": 15, + "branch": 9, + "class": 4, + "linearIndex": 3028, + "address": "0xE7b9fD3078Cdd394496810cF749626AD854490fe", + "cellId": "EI-L15-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B09-C4" + }, + { + "lpbca": 15, + "branch": 9, + "class": 5, + "linearIndex": 3029, + "address": "0xa31671022620D352aB2E80768D6210ce17C93e82", + "cellId": "EI-L15-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B09-C5" + }, + { + "lpbca": 15, + "branch": 10, + "class": 0, + "linearIndex": 3030, + "address": "0x0ec753a6A995fa40c4F3947923b5c18B0af08B37", + "cellId": "EI-L15-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B10-C0" + }, + { + "lpbca": 15, + "branch": 10, + "class": 1, + "linearIndex": 3031, + "address": "0x392Fa7A00312c86A06C9aCe937432681D5486CCc", + "cellId": "EI-L15-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B10-C1" + }, + { + "lpbca": 15, + "branch": 10, + "class": 2, + "linearIndex": 3032, + "address": "0x99C74adf2e76f1448621E554869F192Fd4B2Ca39", + "cellId": "EI-L15-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B10-C2" + }, + { + "lpbca": 15, + "branch": 10, + "class": 3, + "linearIndex": 3033, + "address": "0xB1A40cF405E28077A4EE94189B8f73e58585c952", + "cellId": "EI-L15-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B10-C3" + }, + { + "lpbca": 15, + "branch": 10, + "class": 4, + "linearIndex": 3034, + "address": "0x50830531faF9c7edBBe978247297Ed6D87D3bA0F", + "cellId": "EI-L15-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B10-C4" + }, + { + "lpbca": 15, + "branch": 10, + "class": 5, + "linearIndex": 3035, + "address": "0xD79990D5701Ef6CF3b150aF99cc2603b3D0c1580", + "cellId": "EI-L15-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B10-C5" + }, + { + "lpbca": 15, + "branch": 11, + "class": 0, + "linearIndex": 3036, + "address": "0xA023E60B7a626607B7c7AA77d79635FBdE8eFC07", + "cellId": "EI-L15-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B11-C0" + }, + { + "lpbca": 15, + "branch": 11, + "class": 1, + "linearIndex": 3037, + "address": "0x7Ea9966248F9bD603a183b88Cb66CEd78d7C90Ad", + "cellId": "EI-L15-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B11-C1" + }, + { + "lpbca": 15, + "branch": 11, + "class": 2, + "linearIndex": 3038, + "address": "0x68855E8A8Ce437618F39ce185338D55beE66D0ee", + "cellId": "EI-L15-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B11-C2" + }, + { + "lpbca": 15, + "branch": 11, + "class": 3, + "linearIndex": 3039, + "address": "0x8D844FCBaE78FD8e256b2D8b28C53DC12E9CdCe3", + "cellId": "EI-L15-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B11-C3" + }, + { + "lpbca": 15, + "branch": 11, + "class": 4, + "linearIndex": 3040, + "address": "0x08612A81336C3E7BEB06682b23C68D7967732Bde", + "cellId": "EI-L15-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B11-C4" + }, + { + "lpbca": 15, + "branch": 11, + "class": 5, + "linearIndex": 3041, + "address": "0x2E0BA63aF53A236688e5642726F0C71AD9fb272d", + "cellId": "EI-L15-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B11-C5" + }, + { + "lpbca": 15, + "branch": 12, + "class": 0, + "linearIndex": 3042, + "address": "0x78C2b77148D19F233b9191a45b1D38547613bc72", + "cellId": "EI-L15-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B12-C0" + }, + { + "lpbca": 15, + "branch": 12, + "class": 1, + "linearIndex": 3043, + "address": "0x6Fa77A8106867D29f713a6Df0aAc5f18FdD51224", + "cellId": "EI-L15-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B12-C1" + }, + { + "lpbca": 15, + "branch": 12, + "class": 2, + "linearIndex": 3044, + "address": "0x150bA22EF7b12f2998057b4df2145FabBF19D5f5", + "cellId": "EI-L15-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B12-C2" + }, + { + "lpbca": 15, + "branch": 12, + "class": 3, + "linearIndex": 3045, + "address": "0x88b1f7979d77167143De71a9b98fb30bb75eC026", + "cellId": "EI-L15-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B12-C3" + }, + { + "lpbca": 15, + "branch": 12, + "class": 4, + "linearIndex": 3046, + "address": "0xA1cca230025FBff3d6653b9937cCB26400d41E43", + "cellId": "EI-L15-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B12-C4" + }, + { + "lpbca": 15, + "branch": 12, + "class": 5, + "linearIndex": 3047, + "address": "0x604b052FDdcEbAc6E9c09a23Ef18E936D987A872", + "cellId": "EI-L15-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B12-C5" + }, + { + "lpbca": 15, + "branch": 13, + "class": 0, + "linearIndex": 3048, + "address": "0x17cceE35152586Eb328BeB9BC7fA86A66794a87D", + "cellId": "EI-L15-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B13-C0" + }, + { + "lpbca": 15, + "branch": 13, + "class": 1, + "linearIndex": 3049, + "address": "0x19f88f2dc93FA3A7bE791a5990C05892c77DD3DD", + "cellId": "EI-L15-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B13-C1" + }, + { + "lpbca": 15, + "branch": 13, + "class": 2, + "linearIndex": 3050, + "address": "0xE3d4137082cceE7c43Ae7f26036D583732812a4C", + "cellId": "EI-L15-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B13-C2" + }, + { + "lpbca": 15, + "branch": 13, + "class": 3, + "linearIndex": 3051, + "address": "0xd619A0D703Da1e437f9276118ca875C8038e18Ae", + "cellId": "EI-L15-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B13-C3" + }, + { + "lpbca": 15, + "branch": 13, + "class": 4, + "linearIndex": 3052, + "address": "0x51d39D312b81eB44A1c83f143Ae900e0E1F6e41E", + "cellId": "EI-L15-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B13-C4" + }, + { + "lpbca": 15, + "branch": 13, + "class": 5, + "linearIndex": 3053, + "address": "0x7896919cc768DC2A082798E2492912ec1e18f8Fd", + "cellId": "EI-L15-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B13-C5" + }, + { + "lpbca": 15, + "branch": 14, + "class": 0, + "linearIndex": 3054, + "address": "0x8C83519C111E34e99060fDEb7B13c0a5b5CF1aA7", + "cellId": "EI-L15-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B14-C0" + }, + { + "lpbca": 15, + "branch": 14, + "class": 1, + "linearIndex": 3055, + "address": "0x5C484955dfcE79d907c790239A0a052D558dbc44", + "cellId": "EI-L15-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B14-C1" + }, + { + "lpbca": 15, + "branch": 14, + "class": 2, + "linearIndex": 3056, + "address": "0x3F8b7732820932fb652a78D11b6BB37eD6D9F1B4", + "cellId": "EI-L15-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B14-C2" + }, + { + "lpbca": 15, + "branch": 14, + "class": 3, + "linearIndex": 3057, + "address": "0x599cdb6282018c2F37797BbA4e1513c68E6cCaf1", + "cellId": "EI-L15-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B14-C3" + }, + { + "lpbca": 15, + "branch": 14, + "class": 4, + "linearIndex": 3058, + "address": "0x94d7AEc7B0325396DCB5705b27E9C4e5fe880ac5", + "cellId": "EI-L15-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B14-C4" + }, + { + "lpbca": 15, + "branch": 14, + "class": 5, + "linearIndex": 3059, + "address": "0xB2B8F265547fDBf1cEff13A832e3b4152331819D", + "cellId": "EI-L15-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B14-C5" + }, + { + "lpbca": 15, + "branch": 15, + "class": 0, + "linearIndex": 3060, + "address": "0xda43D1981edF4b0F29728c697ca0E33a290d9d4A", + "cellId": "EI-L15-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B15-C0" + }, + { + "lpbca": 15, + "branch": 15, + "class": 1, + "linearIndex": 3061, + "address": "0x7AD5f74E788ADBbF862ef35865431f85AcE4154d", + "cellId": "EI-L15-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B15-C1" + }, + { + "lpbca": 15, + "branch": 15, + "class": 2, + "linearIndex": 3062, + "address": "0xA35c51af02AA0F15272f5fd1622175B8dEeb1925", + "cellId": "EI-L15-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B15-C2" + }, + { + "lpbca": 15, + "branch": 15, + "class": 3, + "linearIndex": 3063, + "address": "0xB7667be47DcDfF273B2C6790eE04dd146d90e2A7", + "cellId": "EI-L15-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B15-C3" + }, + { + "lpbca": 15, + "branch": 15, + "class": 4, + "linearIndex": 3064, + "address": "0xD245a282E6A4f99614C01d2c27FFEBA65d0f0AC6", + "cellId": "EI-L15-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B15-C4" + }, + { + "lpbca": 15, + "branch": 15, + "class": 5, + "linearIndex": 3065, + "address": "0xAb02E8d94C05085eae59Ca6D355C9941fcCF16ba", + "cellId": "EI-L15-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B15-C5" + }, + { + "lpbca": 15, + "branch": 16, + "class": 0, + "linearIndex": 3066, + "address": "0x639eb503383018Bba0b6428dcE04857641409814", + "cellId": "EI-L15-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B16-C0" + }, + { + "lpbca": 15, + "branch": 16, + "class": 1, + "linearIndex": 3067, + "address": "0x82F31e2458C9eE3029A76D69c436a15B9BB2D10D", + "cellId": "EI-L15-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B16-C1" + }, + { + "lpbca": 15, + "branch": 16, + "class": 2, + "linearIndex": 3068, + "address": "0xb0777f379986a7d75774Cf7D6D8aA395be88C033", + "cellId": "EI-L15-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B16-C2" + }, + { + "lpbca": 15, + "branch": 16, + "class": 3, + "linearIndex": 3069, + "address": "0x80Fc8C2e26a217751A39365b17871440ED92F80e", + "cellId": "EI-L15-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B16-C3" + }, + { + "lpbca": 15, + "branch": 16, + "class": 4, + "linearIndex": 3070, + "address": "0x9047f0c7759E95cC8Cd955697c81585e24D1c6e1", + "cellId": "EI-L15-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B16-C4" + }, + { + "lpbca": 15, + "branch": 16, + "class": 5, + "linearIndex": 3071, + "address": "0x44dE0bf990Da5dEED1e0E18d42548632Eef2Fe87", + "cellId": "EI-L15-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B16-C5" + }, + { + "lpbca": 15, + "branch": 17, + "class": 0, + "linearIndex": 3072, + "address": "0x978Afe7CD000E441259CbC087E3A12A69E4039c6", + "cellId": "EI-L15-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B17-C0" + }, + { + "lpbca": 15, + "branch": 17, + "class": 1, + "linearIndex": 3073, + "address": "0x29C78f86644aBD99E30872F35f2Adf071C1a0CD9", + "cellId": "EI-L15-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B17-C1" + }, + { + "lpbca": 15, + "branch": 17, + "class": 2, + "linearIndex": 3074, + "address": "0xAbCaaCa8FaFe25d122372a0a8a9904aa156e7A7B", + "cellId": "EI-L15-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B17-C2" + }, + { + "lpbca": 15, + "branch": 17, + "class": 3, + "linearIndex": 3075, + "address": "0xe240bc0E44EcB5dC36AB6279c8504c68c011df7E", + "cellId": "EI-L15-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B17-C3" + }, + { + "lpbca": 15, + "branch": 17, + "class": 4, + "linearIndex": 3076, + "address": "0x674C8B35b0064929ce4baFa03069d57748ce53D2", + "cellId": "EI-L15-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B17-C4" + }, + { + "lpbca": 15, + "branch": 17, + "class": 5, + "linearIndex": 3077, + "address": "0x34d37EE7a0514b8b7e8cAd0d04042Adf6988A825", + "cellId": "EI-L15-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B17-C5" + }, + { + "lpbca": 15, + "branch": 18, + "class": 0, + "linearIndex": 3078, + "address": "0x0c06b53C435b3f3F3D71745E565EafCb63c6004D", + "cellId": "EI-L15-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B18-C0" + }, + { + "lpbca": 15, + "branch": 18, + "class": 1, + "linearIndex": 3079, + "address": "0xC4a4021Fe6Ee805923CD5e2c229f04Cd959FAe4a", + "cellId": "EI-L15-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B18-C1" + }, + { + "lpbca": 15, + "branch": 18, + "class": 2, + "linearIndex": 3080, + "address": "0x8fB3522B2Dd1Bad98EEA4Db7fBCe0046b1fb4505", + "cellId": "EI-L15-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B18-C2" + }, + { + "lpbca": 15, + "branch": 18, + "class": 3, + "linearIndex": 3081, + "address": "0xD8aE62b6b3fc58B1fed5C88C0ADE9E0d73B24388", + "cellId": "EI-L15-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B18-C3" + }, + { + "lpbca": 15, + "branch": 18, + "class": 4, + "linearIndex": 3082, + "address": "0x156885E3202aeF0dc6A853957852E0BD2De4D6b4", + "cellId": "EI-L15-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B18-C4" + }, + { + "lpbca": 15, + "branch": 18, + "class": 5, + "linearIndex": 3083, + "address": "0xfeadabe0C59661D0ecB13ec888dA0fe3dbB68f9e", + "cellId": "EI-L15-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B18-C5" + }, + { + "lpbca": 15, + "branch": 19, + "class": 0, + "linearIndex": 3084, + "address": "0x3eE60DAD3c8b1c9e94d1b731dB38E958b66499A5", + "cellId": "EI-L15-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B19-C0" + }, + { + "lpbca": 15, + "branch": 19, + "class": 1, + "linearIndex": 3085, + "address": "0x3DAb1E78CC5F25DFCD0c092A9056F74aA66b8dce", + "cellId": "EI-L15-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B19-C1" + }, + { + "lpbca": 15, + "branch": 19, + "class": 2, + "linearIndex": 3086, + "address": "0x52FF2560c6456c7e2F7996464c3ae077D88E74Bc", + "cellId": "EI-L15-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B19-C2" + }, + { + "lpbca": 15, + "branch": 19, + "class": 3, + "linearIndex": 3087, + "address": "0xD93C4e457bc7071d9EE3433BdADe5498Bb150768", + "cellId": "EI-L15-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B19-C3" + }, + { + "lpbca": 15, + "branch": 19, + "class": 4, + "linearIndex": 3088, + "address": "0xF1f0F29A23c19060fa73691522920b3D7DFd90F2", + "cellId": "EI-L15-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B19-C4" + }, + { + "lpbca": 15, + "branch": 19, + "class": 5, + "linearIndex": 3089, + "address": "0x67aC4d949030E011cAf6388Ed6577C2785effC58", + "cellId": "EI-L15-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B19-C5" + }, + { + "lpbca": 15, + "branch": 20, + "class": 0, + "linearIndex": 3090, + "address": "0xca0D9aC2cf2FD2b7b65573e678F30Bc7D7f08C33", + "cellId": "EI-L15-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B20-C0" + }, + { + "lpbca": 15, + "branch": 20, + "class": 1, + "linearIndex": 3091, + "address": "0x2eA6A52266680dc8eB913A11a3933c84c1519E81", + "cellId": "EI-L15-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B20-C1" + }, + { + "lpbca": 15, + "branch": 20, + "class": 2, + "linearIndex": 3092, + "address": "0x6C85a25A340bD4C8e22fe81D30ff8C350648fcfD", + "cellId": "EI-L15-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B20-C2" + }, + { + "lpbca": 15, + "branch": 20, + "class": 3, + "linearIndex": 3093, + "address": "0xa76ccfFE2488754BA7382d04269DB91b81ceda5D", + "cellId": "EI-L15-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B20-C3" + }, + { + "lpbca": 15, + "branch": 20, + "class": 4, + "linearIndex": 3094, + "address": "0x23e14eEB196Df53A0F0fDcD7af5E25FF7ddf3f02", + "cellId": "EI-L15-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B20-C4" + }, + { + "lpbca": 15, + "branch": 20, + "class": 5, + "linearIndex": 3095, + "address": "0xA437765224A5b7Eb6e9eF73eaA2A3563c33BF663", + "cellId": "EI-L15-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B20-C5" + }, + { + "lpbca": 15, + "branch": 21, + "class": 0, + "linearIndex": 3096, + "address": "0x7FE3bf8Ac76A2fA881Af53A108C1F802F256F334", + "cellId": "EI-L15-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B21-C0" + }, + { + "lpbca": 15, + "branch": 21, + "class": 1, + "linearIndex": 3097, + "address": "0xC9c5f0A2122C8996EA31E52CB1296152460a0DB6", + "cellId": "EI-L15-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B21-C1" + }, + { + "lpbca": 15, + "branch": 21, + "class": 2, + "linearIndex": 3098, + "address": "0xC0B095C86A28c15574f38eFdc31580086b6214A9", + "cellId": "EI-L15-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B21-C2" + }, + { + "lpbca": 15, + "branch": 21, + "class": 3, + "linearIndex": 3099, + "address": "0x0CE08e164cD37C48E9431a895204055ABBE07c20", + "cellId": "EI-L15-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B21-C3" + }, + { + "lpbca": 15, + "branch": 21, + "class": 4, + "linearIndex": 3100, + "address": "0xf9C4eb85e9B2f22017543C22C8C783BcBA0aB5ee", + "cellId": "EI-L15-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B21-C4" + }, + { + "lpbca": 15, + "branch": 21, + "class": 5, + "linearIndex": 3101, + "address": "0xc32A3A30fa982aA96FB6145F4936f23C852AA797", + "cellId": "EI-L15-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B21-C5" + }, + { + "lpbca": 15, + "branch": 22, + "class": 0, + "linearIndex": 3102, + "address": "0x653f60F099FcE4Ade4F1081eC311ba45626DBA68", + "cellId": "EI-L15-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B22-C0" + }, + { + "lpbca": 15, + "branch": 22, + "class": 1, + "linearIndex": 3103, + "address": "0x718622823f38437E9DEb146BE518db78C9321F41", + "cellId": "EI-L15-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B22-C1" + }, + { + "lpbca": 15, + "branch": 22, + "class": 2, + "linearIndex": 3104, + "address": "0x5c9b88f490Cf69254A6b13E675b097F6aA8b95A8", + "cellId": "EI-L15-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B22-C2" + }, + { + "lpbca": 15, + "branch": 22, + "class": 3, + "linearIndex": 3105, + "address": "0x2946a25feE8846E0Acc35086c830Ed59559FAd8f", + "cellId": "EI-L15-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B22-C3" + }, + { + "lpbca": 15, + "branch": 22, + "class": 4, + "linearIndex": 3106, + "address": "0x5939Da156d1Cd9b2c3c9D6a56b5141C08E7A4eb7", + "cellId": "EI-L15-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B22-C4" + }, + { + "lpbca": 15, + "branch": 22, + "class": 5, + "linearIndex": 3107, + "address": "0x68Ef68812cf0213F3932cC8E8C61CD34A043b3aF", + "cellId": "EI-L15-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B22-C5" + }, + { + "lpbca": 15, + "branch": 23, + "class": 0, + "linearIndex": 3108, + "address": "0x7107850ED891566EE4A55E94913c0a1df9F2e84A", + "cellId": "EI-L15-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B23-C0" + }, + { + "lpbca": 15, + "branch": 23, + "class": 1, + "linearIndex": 3109, + "address": "0x0246541ba91c5d719F8AaFd83a4FEc8B26D1c57C", + "cellId": "EI-L15-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B23-C1" + }, + { + "lpbca": 15, + "branch": 23, + "class": 2, + "linearIndex": 3110, + "address": "0xbf61a76C170E5bf30349250438f345FFBAAD3D3F", + "cellId": "EI-L15-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B23-C2" + }, + { + "lpbca": 15, + "branch": 23, + "class": 3, + "linearIndex": 3111, + "address": "0x045d2dEBe60d3171886Ef2825b000419121a3cc7", + "cellId": "EI-L15-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B23-C3" + }, + { + "lpbca": 15, + "branch": 23, + "class": 4, + "linearIndex": 3112, + "address": "0xff749511ef5804100210277C45e3B3CDE4fBB1ef", + "cellId": "EI-L15-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B23-C4" + }, + { + "lpbca": 15, + "branch": 23, + "class": 5, + "linearIndex": 3113, + "address": "0xBD0Cb95ecA4cfbb770e1Bc9cBB746a89AF30d412", + "cellId": "EI-L15-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B23-C5" + }, + { + "lpbca": 15, + "branch": 24, + "class": 0, + "linearIndex": 3114, + "address": "0x219dd7C2C2004fb8413791d48b808503D786f5aB", + "cellId": "EI-L15-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B24-C0" + }, + { + "lpbca": 15, + "branch": 24, + "class": 1, + "linearIndex": 3115, + "address": "0xd9ec9362ad104B90b1C669BC7e6B07131B4e388C", + "cellId": "EI-L15-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B24-C1" + }, + { + "lpbca": 15, + "branch": 24, + "class": 2, + "linearIndex": 3116, + "address": "0x18360d590b19bC21fB309863cf4AF0B1B03fb6c8", + "cellId": "EI-L15-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B24-C2" + }, + { + "lpbca": 15, + "branch": 24, + "class": 3, + "linearIndex": 3117, + "address": "0x9014FF29f9D391C917dc4206310cDe7c055Dd156", + "cellId": "EI-L15-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B24-C3" + }, + { + "lpbca": 15, + "branch": 24, + "class": 4, + "linearIndex": 3118, + "address": "0x9e796fF62bAF07DE8Ebfb767deB3CA5Cd15c1270", + "cellId": "EI-L15-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B24-C4" + }, + { + "lpbca": 15, + "branch": 24, + "class": 5, + "linearIndex": 3119, + "address": "0x2236F6e17Ab80fB154413069A92e3f78b23da9eD", + "cellId": "EI-L15-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B24-C5" + }, + { + "lpbca": 15, + "branch": 25, + "class": 0, + "linearIndex": 3120, + "address": "0x30dc494720dcDEf14fb9CB3e657C22963B121253", + "cellId": "EI-L15-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B25-C0" + }, + { + "lpbca": 15, + "branch": 25, + "class": 1, + "linearIndex": 3121, + "address": "0x260bE1538184Ae1b4CC35145BB1B9f8FDd1D7a3C", + "cellId": "EI-L15-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B25-C1" + }, + { + "lpbca": 15, + "branch": 25, + "class": 2, + "linearIndex": 3122, + "address": "0xeA29c82adD1b1B8d2fF7b72d21405824B8B25580", + "cellId": "EI-L15-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B25-C2" + }, + { + "lpbca": 15, + "branch": 25, + "class": 3, + "linearIndex": 3123, + "address": "0x1d669cb337eC3FBB931fe232faA5e7742da284Ef", + "cellId": "EI-L15-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B25-C3" + }, + { + "lpbca": 15, + "branch": 25, + "class": 4, + "linearIndex": 3124, + "address": "0xaa9456e87928E9023f99b90a139F89977C097ba2", + "cellId": "EI-L15-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B25-C4" + }, + { + "lpbca": 15, + "branch": 25, + "class": 5, + "linearIndex": 3125, + "address": "0x762eA2B7E7f529BB14Aed91c041366683C9eBBc7", + "cellId": "EI-L15-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B25-C5" + }, + { + "lpbca": 15, + "branch": 26, + "class": 0, + "linearIndex": 3126, + "address": "0xCbc109a2dF7b6C8f9baD5e808b8E1Ae2d842FC26", + "cellId": "EI-L15-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B26-C0" + }, + { + "lpbca": 15, + "branch": 26, + "class": 1, + "linearIndex": 3127, + "address": "0xa863Ea7321C365a537588864782c26b0F159195a", + "cellId": "EI-L15-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B26-C1" + }, + { + "lpbca": 15, + "branch": 26, + "class": 2, + "linearIndex": 3128, + "address": "0xbe701Ad5EE8Ce24A4D18432Eee0610cf1576a85f", + "cellId": "EI-L15-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B26-C2" + }, + { + "lpbca": 15, + "branch": 26, + "class": 3, + "linearIndex": 3129, + "address": "0x261Fb3B7559940bD9093390a3402b0C1c6f271cd", + "cellId": "EI-L15-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B26-C3" + }, + { + "lpbca": 15, + "branch": 26, + "class": 4, + "linearIndex": 3130, + "address": "0x9afe4de8b5F247a1a3A5E653000945dABF8BA7D2", + "cellId": "EI-L15-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B26-C4" + }, + { + "lpbca": 15, + "branch": 26, + "class": 5, + "linearIndex": 3131, + "address": "0x4a0a1a66F8635Bda592e65B8a803C145D7bd0FfB", + "cellId": "EI-L15-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B26-C5" + }, + { + "lpbca": 15, + "branch": 27, + "class": 0, + "linearIndex": 3132, + "address": "0x88c02d9C07E7cb0B2327F44eed9B6c0539F3c2f4", + "cellId": "EI-L15-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B27-C0" + }, + { + "lpbca": 15, + "branch": 27, + "class": 1, + "linearIndex": 3133, + "address": "0x8cE4ed554878e344F41d0F040a6f67ac23320D30", + "cellId": "EI-L15-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B27-C1" + }, + { + "lpbca": 15, + "branch": 27, + "class": 2, + "linearIndex": 3134, + "address": "0x29cCf2CE42E71DbD2b8Ef3feE7C5c46528c7FbC0", + "cellId": "EI-L15-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B27-C2" + }, + { + "lpbca": 15, + "branch": 27, + "class": 3, + "linearIndex": 3135, + "address": "0xf50Ce9C4c0430005a6b5F1EB3f877c5Da6830ddA", + "cellId": "EI-L15-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B27-C3" + }, + { + "lpbca": 15, + "branch": 27, + "class": 4, + "linearIndex": 3136, + "address": "0x8771F9c9C8F246A426dE94Db0dA28204B280b7fb", + "cellId": "EI-L15-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B27-C4" + }, + { + "lpbca": 15, + "branch": 27, + "class": 5, + "linearIndex": 3137, + "address": "0xaf696D263c102fC5f110BfBF71c280C6abDfC97F", + "cellId": "EI-L15-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B27-C5" + }, + { + "lpbca": 15, + "branch": 28, + "class": 0, + "linearIndex": 3138, + "address": "0x9a7E705c8998E1eA7e8B0ffAE25956171909c4fd", + "cellId": "EI-L15-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B28-C0" + }, + { + "lpbca": 15, + "branch": 28, + "class": 1, + "linearIndex": 3139, + "address": "0xda6196e1a6F4A645331cb1c5577F05a1C96A482e", + "cellId": "EI-L15-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B28-C1" + }, + { + "lpbca": 15, + "branch": 28, + "class": 2, + "linearIndex": 3140, + "address": "0x433617E8f3A5225a310B27Ef2cfE394C7778C906", + "cellId": "EI-L15-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B28-C2" + }, + { + "lpbca": 15, + "branch": 28, + "class": 3, + "linearIndex": 3141, + "address": "0xa4dB9eBD5d0B39c99e1059a61302D508588Fd9a8", + "cellId": "EI-L15-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B28-C3" + }, + { + "lpbca": 15, + "branch": 28, + "class": 4, + "linearIndex": 3142, + "address": "0xDCf1883273f1d50d873d6C88f5F668Eb4214500D", + "cellId": "EI-L15-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B28-C4" + }, + { + "lpbca": 15, + "branch": 28, + "class": 5, + "linearIndex": 3143, + "address": "0xA6D71021e65B29F51535AC12C601b1e59F8bd6C2", + "cellId": "EI-L15-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B28-C5" + }, + { + "lpbca": 15, + "branch": 29, + "class": 0, + "linearIndex": 3144, + "address": "0x38A0e236212f7d79Aa6Ded4e52D570F389bCF91c", + "cellId": "EI-L15-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B29-C0" + }, + { + "lpbca": 15, + "branch": 29, + "class": 1, + "linearIndex": 3145, + "address": "0x63ea8EB121f5fCA002C9C33d8972802798f2C2FB", + "cellId": "EI-L15-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B29-C1" + }, + { + "lpbca": 15, + "branch": 29, + "class": 2, + "linearIndex": 3146, + "address": "0x7DCd91853e3dd34771AAAca3a7FFA247Cff08E7d", + "cellId": "EI-L15-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B29-C2" + }, + { + "lpbca": 15, + "branch": 29, + "class": 3, + "linearIndex": 3147, + "address": "0x265F8E0708aECe3d6F7F984d80b21E806EBA0B50", + "cellId": "EI-L15-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B29-C3" + }, + { + "lpbca": 15, + "branch": 29, + "class": 4, + "linearIndex": 3148, + "address": "0xd7B62FeBD2a21CD2f518A8108055ad09b5dB10D8", + "cellId": "EI-L15-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B29-C4" + }, + { + "lpbca": 15, + "branch": 29, + "class": 5, + "linearIndex": 3149, + "address": "0xaf2a6037417309c450B50c1756A65c3D0fb42612", + "cellId": "EI-L15-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B29-C5" + }, + { + "lpbca": 15, + "branch": 30, + "class": 0, + "linearIndex": 3150, + "address": "0x501Ec78728b2C82C82B90F7043EA5CDE3C39b1F8", + "cellId": "EI-L15-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B30-C0" + }, + { + "lpbca": 15, + "branch": 30, + "class": 1, + "linearIndex": 3151, + "address": "0x3436affBe789B065d60E3B9b5Adb44A597a6EB20", + "cellId": "EI-L15-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B30-C1" + }, + { + "lpbca": 15, + "branch": 30, + "class": 2, + "linearIndex": 3152, + "address": "0x005Ab09Ff77cec0a112592183b9d9Afd969b7F40", + "cellId": "EI-L15-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B30-C2" + }, + { + "lpbca": 15, + "branch": 30, + "class": 3, + "linearIndex": 3153, + "address": "0xb982092BfF5C11bB8599eE58989561A07A4899B5", + "cellId": "EI-L15-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B30-C3" + }, + { + "lpbca": 15, + "branch": 30, + "class": 4, + "linearIndex": 3154, + "address": "0x6fB0f7648369C4D961B0f2207Cd41AAcd44d7D9e", + "cellId": "EI-L15-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B30-C4" + }, + { + "lpbca": 15, + "branch": 30, + "class": 5, + "linearIndex": 3155, + "address": "0xE3cAD191606ff397c340e25C95d692193e4399D2", + "cellId": "EI-L15-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B30-C5" + }, + { + "lpbca": 15, + "branch": 31, + "class": 0, + "linearIndex": 3156, + "address": "0xfe07fA8668e3FE6FDe03dC995a32C68021b68A67", + "cellId": "EI-L15-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B31-C0" + }, + { + "lpbca": 15, + "branch": 31, + "class": 1, + "linearIndex": 3157, + "address": "0xEC7E5ded67875f6959cc91B84e37147e612AE46A", + "cellId": "EI-L15-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B31-C1" + }, + { + "lpbca": 15, + "branch": 31, + "class": 2, + "linearIndex": 3158, + "address": "0x735560efec42bb8072393d28811900002A345A4e", + "cellId": "EI-L15-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B31-C2" + }, + { + "lpbca": 15, + "branch": 31, + "class": 3, + "linearIndex": 3159, + "address": "0x20f3D3976C9ecbb4a713Ef344d124F3B3bD2Ae98", + "cellId": "EI-L15-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B31-C3" + }, + { + "lpbca": 15, + "branch": 31, + "class": 4, + "linearIndex": 3160, + "address": "0x28BdB72AC303a6531213a802d60959D3B6DE64e7", + "cellId": "EI-L15-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B31-C4" + }, + { + "lpbca": 15, + "branch": 31, + "class": 5, + "linearIndex": 3161, + "address": "0x24D460f847E4061C6ba9CCfdBECdf49fF923Eb1d", + "cellId": "EI-L15-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B31-C5" + }, + { + "lpbca": 15, + "branch": 32, + "class": 0, + "linearIndex": 3162, + "address": "0x144932Aec011b0944A950E0721795A9d6A2EF12B", + "cellId": "EI-L15-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B32-C0" + }, + { + "lpbca": 15, + "branch": 32, + "class": 1, + "linearIndex": 3163, + "address": "0x8b679D962f3fe232989A5FDC45152CA11eC11eb9", + "cellId": "EI-L15-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B32-C1" + }, + { + "lpbca": 15, + "branch": 32, + "class": 2, + "linearIndex": 3164, + "address": "0x4bAE0955B41C1d3ac2d73aA78A3344DFABC79F30", + "cellId": "EI-L15-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B32-C2" + }, + { + "lpbca": 15, + "branch": 32, + "class": 3, + "linearIndex": 3165, + "address": "0xec179E5aDB8f286a667eF73a6796bb0feFFcc811", + "cellId": "EI-L15-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B32-C3" + }, + { + "lpbca": 15, + "branch": 32, + "class": 4, + "linearIndex": 3166, + "address": "0xae0A77fa396E68f8Dab23D64ACCDDdC92323d429", + "cellId": "EI-L15-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B32-C4" + }, + { + "lpbca": 15, + "branch": 32, + "class": 5, + "linearIndex": 3167, + "address": "0x352052BDC2F558931EC6e48f786C40c47788f6C2", + "cellId": "EI-L15-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L15-B32-C5" + }, + { + "lpbca": 16, + "branch": 0, + "class": 0, + "linearIndex": 3168, + "address": "0x1DAf2f4eE0F8b27Efc0c45A0fC15114879248F3d", + "cellId": "EI-L16-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B00-C0" + }, + { + "lpbca": 16, + "branch": 0, + "class": 1, + "linearIndex": 3169, + "address": "0xD0a522e7318e86D6EdE01A44fecFdf03Ac656b56", + "cellId": "EI-L16-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B00-C1" + }, + { + "lpbca": 16, + "branch": 0, + "class": 2, + "linearIndex": 3170, + "address": "0x8A027030B27181c7af5824B9eFd1a23E65171e1c", + "cellId": "EI-L16-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B00-C2" + }, + { + "lpbca": 16, + "branch": 0, + "class": 3, + "linearIndex": 3171, + "address": "0xba1779F22910939b009cf7f6cb5A19ba6F889c97", + "cellId": "EI-L16-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B00-C3" + }, + { + "lpbca": 16, + "branch": 0, + "class": 4, + "linearIndex": 3172, + "address": "0xE0Ae9b4058fa1C73EE73e0d69BedAd09ee16Fc6e", + "cellId": "EI-L16-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B00-C4" + }, + { + "lpbca": 16, + "branch": 0, + "class": 5, + "linearIndex": 3173, + "address": "0x2537d5c6305f99bd1FCe9C72549c5E1D20634f98", + "cellId": "EI-L16-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B00-C5" + }, + { + "lpbca": 16, + "branch": 1, + "class": 0, + "linearIndex": 3174, + "address": "0xe9Fda0A6CbEE0B8d761D39F4ec933006A2954fff", + "cellId": "EI-L16-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B01-C0" + }, + { + "lpbca": 16, + "branch": 1, + "class": 1, + "linearIndex": 3175, + "address": "0xa5863d48A47a55Fd48a4628FE5a82c7E7c2dFf96", + "cellId": "EI-L16-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B01-C1" + }, + { + "lpbca": 16, + "branch": 1, + "class": 2, + "linearIndex": 3176, + "address": "0x03CBF42Ec296D69A1e3e089D4f41f742cF7106c7", + "cellId": "EI-L16-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B01-C2" + }, + { + "lpbca": 16, + "branch": 1, + "class": 3, + "linearIndex": 3177, + "address": "0xec6b5D56Ce07584D484340cC2DA8313c9847bb18", + "cellId": "EI-L16-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B01-C3" + }, + { + "lpbca": 16, + "branch": 1, + "class": 4, + "linearIndex": 3178, + "address": "0x4Ca20C2bAAc8887d23909eD181F1ee6AFd29A4a3", + "cellId": "EI-L16-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B01-C4" + }, + { + "lpbca": 16, + "branch": 1, + "class": 5, + "linearIndex": 3179, + "address": "0xcF80D7A285A8AD33A136cAEFee5Bc7409FAa72eD", + "cellId": "EI-L16-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B01-C5" + }, + { + "lpbca": 16, + "branch": 2, + "class": 0, + "linearIndex": 3180, + "address": "0x975cD0CC21dE3eEfEF9bAADf138c3540C40b3870", + "cellId": "EI-L16-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B02-C0" + }, + { + "lpbca": 16, + "branch": 2, + "class": 1, + "linearIndex": 3181, + "address": "0x4E3046ca11B12483324d56529ad1CEaBde935602", + "cellId": "EI-L16-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B02-C1" + }, + { + "lpbca": 16, + "branch": 2, + "class": 2, + "linearIndex": 3182, + "address": "0x6c75919761d7B23b18b68Bcf29D9f5eDEE80164b", + "cellId": "EI-L16-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B02-C2" + }, + { + "lpbca": 16, + "branch": 2, + "class": 3, + "linearIndex": 3183, + "address": "0x58491d2B90E67858c7FFD3a3798833B7055F2Da0", + "cellId": "EI-L16-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B02-C3" + }, + { + "lpbca": 16, + "branch": 2, + "class": 4, + "linearIndex": 3184, + "address": "0x9494D524db49620942BD4901Cf4Bac6335F88e1a", + "cellId": "EI-L16-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B02-C4" + }, + { + "lpbca": 16, + "branch": 2, + "class": 5, + "linearIndex": 3185, + "address": "0x50B946954E28d27410E537BF27A11642ADbD982c", + "cellId": "EI-L16-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B02-C5" + }, + { + "lpbca": 16, + "branch": 3, + "class": 0, + "linearIndex": 3186, + "address": "0x38281E1350436B1CC6555375f2d60Edfc0a6E0fc", + "cellId": "EI-L16-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B03-C0" + }, + { + "lpbca": 16, + "branch": 3, + "class": 1, + "linearIndex": 3187, + "address": "0x48E5c9DbF77c88bFa014Bb1F2E30b28EBe03C9F2", + "cellId": "EI-L16-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B03-C1" + }, + { + "lpbca": 16, + "branch": 3, + "class": 2, + "linearIndex": 3188, + "address": "0x03C23fa21AaBf7d2d0eD2C22e48c3a230d349365", + "cellId": "EI-L16-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B03-C2" + }, + { + "lpbca": 16, + "branch": 3, + "class": 3, + "linearIndex": 3189, + "address": "0xe4F5E5F7aE8fBD720d2da9D0cff0a5005457C9fa", + "cellId": "EI-L16-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B03-C3" + }, + { + "lpbca": 16, + "branch": 3, + "class": 4, + "linearIndex": 3190, + "address": "0x97F3F39b2715e2a847c00820E0014FAA5427dFB3", + "cellId": "EI-L16-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B03-C4" + }, + { + "lpbca": 16, + "branch": 3, + "class": 5, + "linearIndex": 3191, + "address": "0xc51B2EFF95FD1791d3aE5dea2Ca1F73dAaa9fe3C", + "cellId": "EI-L16-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B03-C5" + }, + { + "lpbca": 16, + "branch": 4, + "class": 0, + "linearIndex": 3192, + "address": "0xd1095Be0ad3A841cD6709E1d36e79f0B5E1234Bb", + "cellId": "EI-L16-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B04-C0" + }, + { + "lpbca": 16, + "branch": 4, + "class": 1, + "linearIndex": 3193, + "address": "0xAEB041E5E752648aaC69D9743FE48c5383D7A84e", + "cellId": "EI-L16-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B04-C1" + }, + { + "lpbca": 16, + "branch": 4, + "class": 2, + "linearIndex": 3194, + "address": "0x3045c6A6a3a8DB3AB12302EEDBB784F80A4aBD46", + "cellId": "EI-L16-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B04-C2" + }, + { + "lpbca": 16, + "branch": 4, + "class": 3, + "linearIndex": 3195, + "address": "0x6680539dff509a2cD5a2B9a16b572767e5bad6e4", + "cellId": "EI-L16-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B04-C3" + }, + { + "lpbca": 16, + "branch": 4, + "class": 4, + "linearIndex": 3196, + "address": "0x01D44eC2Eab678bee31712f402150Eb9475070bf", + "cellId": "EI-L16-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B04-C4" + }, + { + "lpbca": 16, + "branch": 4, + "class": 5, + "linearIndex": 3197, + "address": "0x826Fc7C28Bb0D61E2678059D25bd1A83F4b26eb5", + "cellId": "EI-L16-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B04-C5" + }, + { + "lpbca": 16, + "branch": 5, + "class": 0, + "linearIndex": 3198, + "address": "0x135F0f3b6b337Faf897b861E6B56db1DF25b632f", + "cellId": "EI-L16-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B05-C0" + }, + { + "lpbca": 16, + "branch": 5, + "class": 1, + "linearIndex": 3199, + "address": "0x128377B18d402a7381c51C81762Fb9cDAf9a451a", + "cellId": "EI-L16-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B05-C1" + }, + { + "lpbca": 16, + "branch": 5, + "class": 2, + "linearIndex": 3200, + "address": "0xe2cf6a12FB20824D5dB6359f9bC734F2CB604659", + "cellId": "EI-L16-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B05-C2" + }, + { + "lpbca": 16, + "branch": 5, + "class": 3, + "linearIndex": 3201, + "address": "0x72Ca462295157AAB2c74Ef188B7E2CBe1F8a25D5", + "cellId": "EI-L16-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B05-C3" + }, + { + "lpbca": 16, + "branch": 5, + "class": 4, + "linearIndex": 3202, + "address": "0x1E8bA17d48dCDD2FA0B0a03402841647F733D5c9", + "cellId": "EI-L16-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B05-C4" + }, + { + "lpbca": 16, + "branch": 5, + "class": 5, + "linearIndex": 3203, + "address": "0x387b33a0c9547fD6E2B06859a26BeFFa7943A3b5", + "cellId": "EI-L16-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B05-C5" + }, + { + "lpbca": 16, + "branch": 6, + "class": 0, + "linearIndex": 3204, + "address": "0xF2040798Df0782862c7C3565EeB5a477B81Ff259", + "cellId": "EI-L16-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B06-C0" + }, + { + "lpbca": 16, + "branch": 6, + "class": 1, + "linearIndex": 3205, + "address": "0x982C57CCce413E82be392A7019825CC61fb26cD6", + "cellId": "EI-L16-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B06-C1" + }, + { + "lpbca": 16, + "branch": 6, + "class": 2, + "linearIndex": 3206, + "address": "0xA71bE90a6f643A08fF95a98BA13bDC811D42B23E", + "cellId": "EI-L16-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B06-C2" + }, + { + "lpbca": 16, + "branch": 6, + "class": 3, + "linearIndex": 3207, + "address": "0xEeff11910f21475DfC7b73Fe6C4d94C6634307C7", + "cellId": "EI-L16-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B06-C3" + }, + { + "lpbca": 16, + "branch": 6, + "class": 4, + "linearIndex": 3208, + "address": "0x10f8ac5689FbC2CDac65E2A9017F9494A2d8d72c", + "cellId": "EI-L16-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B06-C4" + }, + { + "lpbca": 16, + "branch": 6, + "class": 5, + "linearIndex": 3209, + "address": "0x82540a6517c31fC07dCFd15df57F6cecC792b309", + "cellId": "EI-L16-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B06-C5" + }, + { + "lpbca": 16, + "branch": 7, + "class": 0, + "linearIndex": 3210, + "address": "0xDee555050dc5077a657AA8BfB1BF9A6808910EC3", + "cellId": "EI-L16-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B07-C0" + }, + { + "lpbca": 16, + "branch": 7, + "class": 1, + "linearIndex": 3211, + "address": "0x881cBC44eCA6b33161bb26BA54d10777D22E415B", + "cellId": "EI-L16-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B07-C1" + }, + { + "lpbca": 16, + "branch": 7, + "class": 2, + "linearIndex": 3212, + "address": "0xA6839A4A68c7E8A4f31dE075ADE4CD4db8773716", + "cellId": "EI-L16-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B07-C2" + }, + { + "lpbca": 16, + "branch": 7, + "class": 3, + "linearIndex": 3213, + "address": "0x2C4D40De5BC03F390fd2aC38dfD472d1dAAed378", + "cellId": "EI-L16-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B07-C3" + }, + { + "lpbca": 16, + "branch": 7, + "class": 4, + "linearIndex": 3214, + "address": "0x94c59A37F4B4cfAd748129aCd6E0CE297C250d53", + "cellId": "EI-L16-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B07-C4" + }, + { + "lpbca": 16, + "branch": 7, + "class": 5, + "linearIndex": 3215, + "address": "0x6DefaC4387D09d0501919196AE6b84574CfcA633", + "cellId": "EI-L16-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B07-C5" + }, + { + "lpbca": 16, + "branch": 8, + "class": 0, + "linearIndex": 3216, + "address": "0xAAd15bC41013d91ee3BD1D551eDfcBd66863E18B", + "cellId": "EI-L16-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B08-C0" + }, + { + "lpbca": 16, + "branch": 8, + "class": 1, + "linearIndex": 3217, + "address": "0x71E26C7d58710fEfb3E6d24f0Ac244d0A81dcD12", + "cellId": "EI-L16-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B08-C1" + }, + { + "lpbca": 16, + "branch": 8, + "class": 2, + "linearIndex": 3218, + "address": "0x9A9f31223D22455c6243f43E7Cf207856ccfA6A3", + "cellId": "EI-L16-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B08-C2" + }, + { + "lpbca": 16, + "branch": 8, + "class": 3, + "linearIndex": 3219, + "address": "0x14CB467C7478e5f2783679A3Ef5C1FFAf38c5F44", + "cellId": "EI-L16-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B08-C3" + }, + { + "lpbca": 16, + "branch": 8, + "class": 4, + "linearIndex": 3220, + "address": "0xbeaCaA510eBAdbeD805A433162Bf73D7A6E0e602", + "cellId": "EI-L16-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B08-C4" + }, + { + "lpbca": 16, + "branch": 8, + "class": 5, + "linearIndex": 3221, + "address": "0xa1E8836Ef83BC1Ab0F60800aeB845Ed614a862B5", + "cellId": "EI-L16-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B08-C5" + }, + { + "lpbca": 16, + "branch": 9, + "class": 0, + "linearIndex": 3222, + "address": "0x71326Ea0C8B98E78F655Bd5173764454D67C0A4a", + "cellId": "EI-L16-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B09-C0" + }, + { + "lpbca": 16, + "branch": 9, + "class": 1, + "linearIndex": 3223, + "address": "0xE0e2Bd9AC3843b78C239E8810fb34B791c728316", + "cellId": "EI-L16-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B09-C1" + }, + { + "lpbca": 16, + "branch": 9, + "class": 2, + "linearIndex": 3224, + "address": "0x134D047D10F8554a2D6AC760c7b126b4b6E944B5", + "cellId": "EI-L16-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B09-C2" + }, + { + "lpbca": 16, + "branch": 9, + "class": 3, + "linearIndex": 3225, + "address": "0xBd9ACF93a0712b883cbA785EbB5E2c54bCc1a3Af", + "cellId": "EI-L16-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B09-C3" + }, + { + "lpbca": 16, + "branch": 9, + "class": 4, + "linearIndex": 3226, + "address": "0xEE38103fF67e228903987B7720A2eA23e30D47df", + "cellId": "EI-L16-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B09-C4" + }, + { + "lpbca": 16, + "branch": 9, + "class": 5, + "linearIndex": 3227, + "address": "0xa64aAC8c4c6a3486C609245616c670cD9f6C3df8", + "cellId": "EI-L16-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B09-C5" + }, + { + "lpbca": 16, + "branch": 10, + "class": 0, + "linearIndex": 3228, + "address": "0xc4fDa1d325eAFa389Fc463CC19C56A6b3F152497", + "cellId": "EI-L16-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B10-C0" + }, + { + "lpbca": 16, + "branch": 10, + "class": 1, + "linearIndex": 3229, + "address": "0x584f09a3D50F446A1f994Da89987A078bb1bd3b2", + "cellId": "EI-L16-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B10-C1" + }, + { + "lpbca": 16, + "branch": 10, + "class": 2, + "linearIndex": 3230, + "address": "0x7B4b30C9686C18e2dd68328DDC04824f98725E89", + "cellId": "EI-L16-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B10-C2" + }, + { + "lpbca": 16, + "branch": 10, + "class": 3, + "linearIndex": 3231, + "address": "0x7b53e97Dbbdb4D238323DcB2fe5190c756062100", + "cellId": "EI-L16-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B10-C3" + }, + { + "lpbca": 16, + "branch": 10, + "class": 4, + "linearIndex": 3232, + "address": "0x189150d198915467B0627B0255c9f6e817f93b00", + "cellId": "EI-L16-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B10-C4" + }, + { + "lpbca": 16, + "branch": 10, + "class": 5, + "linearIndex": 3233, + "address": "0x655cE7FDc32207Aa57329b31d4A4126B936A3a74", + "cellId": "EI-L16-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B10-C5" + }, + { + "lpbca": 16, + "branch": 11, + "class": 0, + "linearIndex": 3234, + "address": "0x5c2aC34481381931AE93441e6BBaC442f0d695Cc", + "cellId": "EI-L16-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B11-C0" + }, + { + "lpbca": 16, + "branch": 11, + "class": 1, + "linearIndex": 3235, + "address": "0x0fE52c7E4a53D7a1A65d9Cf831a10161D7b584D4", + "cellId": "EI-L16-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B11-C1" + }, + { + "lpbca": 16, + "branch": 11, + "class": 2, + "linearIndex": 3236, + "address": "0x629021E2cdc467ac4AEC7a7Db8463260F04209e5", + "cellId": "EI-L16-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B11-C2" + }, + { + "lpbca": 16, + "branch": 11, + "class": 3, + "linearIndex": 3237, + "address": "0x1FEd7F184192e5c127aF22d4a784C11BC28609e6", + "cellId": "EI-L16-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B11-C3" + }, + { + "lpbca": 16, + "branch": 11, + "class": 4, + "linearIndex": 3238, + "address": "0xA7C92963Ac277aAd569FB14Ee0D06edaF145525a", + "cellId": "EI-L16-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B11-C4" + }, + { + "lpbca": 16, + "branch": 11, + "class": 5, + "linearIndex": 3239, + "address": "0x9bB0887Cbd7d10842defa9fA091B906e28C3EcFc", + "cellId": "EI-L16-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B11-C5" + }, + { + "lpbca": 16, + "branch": 12, + "class": 0, + "linearIndex": 3240, + "address": "0x0e5c53D684b4A5F23263308d751476fC05175F8f", + "cellId": "EI-L16-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B12-C0" + }, + { + "lpbca": 16, + "branch": 12, + "class": 1, + "linearIndex": 3241, + "address": "0xB8537c25C70061D08e15046461FC4A36479D2a5E", + "cellId": "EI-L16-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B12-C1" + }, + { + "lpbca": 16, + "branch": 12, + "class": 2, + "linearIndex": 3242, + "address": "0x67516d8eF363678479F7f199BbBb57A94D248F6c", + "cellId": "EI-L16-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B12-C2" + }, + { + "lpbca": 16, + "branch": 12, + "class": 3, + "linearIndex": 3243, + "address": "0x724e6DCB4f61f9c0cEc7Df53342d1625323cc7dF", + "cellId": "EI-L16-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B12-C3" + }, + { + "lpbca": 16, + "branch": 12, + "class": 4, + "linearIndex": 3244, + "address": "0xfc217D8Ed548c437e26ab9af3bA8c6244A9122E0", + "cellId": "EI-L16-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B12-C4" + }, + { + "lpbca": 16, + "branch": 12, + "class": 5, + "linearIndex": 3245, + "address": "0x32f89d7A9830EEE004dAcD7a44E242782eE122f4", + "cellId": "EI-L16-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B12-C5" + }, + { + "lpbca": 16, + "branch": 13, + "class": 0, + "linearIndex": 3246, + "address": "0xfa7b025C799eF32e7D612DFe2038d15c81955F1C", + "cellId": "EI-L16-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B13-C0" + }, + { + "lpbca": 16, + "branch": 13, + "class": 1, + "linearIndex": 3247, + "address": "0x7D5625Bb3a74Ac1fe493E16D18d59d513c1612f8", + "cellId": "EI-L16-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B13-C1" + }, + { + "lpbca": 16, + "branch": 13, + "class": 2, + "linearIndex": 3248, + "address": "0x46859C59bdEa611b47da7A051A04D64dEA0A875e", + "cellId": "EI-L16-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B13-C2" + }, + { + "lpbca": 16, + "branch": 13, + "class": 3, + "linearIndex": 3249, + "address": "0x3255d443c3894C88895050941F31690C26B7569E", + "cellId": "EI-L16-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B13-C3" + }, + { + "lpbca": 16, + "branch": 13, + "class": 4, + "linearIndex": 3250, + "address": "0xE1dEa8ffC49C2dd5ba2f020092A181fC9402b12c", + "cellId": "EI-L16-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B13-C4" + }, + { + "lpbca": 16, + "branch": 13, + "class": 5, + "linearIndex": 3251, + "address": "0x526376c3FcC22F484196cD27d9aBf9E366Bd5EDF", + "cellId": "EI-L16-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B13-C5" + }, + { + "lpbca": 16, + "branch": 14, + "class": 0, + "linearIndex": 3252, + "address": "0x1E8B28c9D8c92a15505CBa652963B6822d654Cb1", + "cellId": "EI-L16-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B14-C0" + }, + { + "lpbca": 16, + "branch": 14, + "class": 1, + "linearIndex": 3253, + "address": "0x0ced9Af2FD51251A6b8aA4c585B739c2a67B965b", + "cellId": "EI-L16-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B14-C1" + }, + { + "lpbca": 16, + "branch": 14, + "class": 2, + "linearIndex": 3254, + "address": "0xa96711E7331A6Cc53cB30FD0aC6fcB6C04b1Db0A", + "cellId": "EI-L16-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B14-C2" + }, + { + "lpbca": 16, + "branch": 14, + "class": 3, + "linearIndex": 3255, + "address": "0x380811f8D4fb5DaF8c064981f0B045968ba1f57A", + "cellId": "EI-L16-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B14-C3" + }, + { + "lpbca": 16, + "branch": 14, + "class": 4, + "linearIndex": 3256, + "address": "0x62fc5B09F5b5E2e0820C814d50c9804F5075155E", + "cellId": "EI-L16-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B14-C4" + }, + { + "lpbca": 16, + "branch": 14, + "class": 5, + "linearIndex": 3257, + "address": "0xdE12Db52642fDC8CCdD4da572deFE31Ee09456cB", + "cellId": "EI-L16-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B14-C5" + }, + { + "lpbca": 16, + "branch": 15, + "class": 0, + "linearIndex": 3258, + "address": "0x44A75A182b874575cd23BE3C6a809510A9E35A58", + "cellId": "EI-L16-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B15-C0" + }, + { + "lpbca": 16, + "branch": 15, + "class": 1, + "linearIndex": 3259, + "address": "0x081D644C6d790109A13a46E16fC848bC2649DA1c", + "cellId": "EI-L16-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B15-C1" + }, + { + "lpbca": 16, + "branch": 15, + "class": 2, + "linearIndex": 3260, + "address": "0x28e05F0fFCb7feBA97bD5EAf5961f8629aD273dc", + "cellId": "EI-L16-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B15-C2" + }, + { + "lpbca": 16, + "branch": 15, + "class": 3, + "linearIndex": 3261, + "address": "0xBf60351f7004B31D767A416D4c5441029da175e1", + "cellId": "EI-L16-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B15-C3" + }, + { + "lpbca": 16, + "branch": 15, + "class": 4, + "linearIndex": 3262, + "address": "0x32B88eA64736aBB1a080e5e7561c3B02877d0151", + "cellId": "EI-L16-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B15-C4" + }, + { + "lpbca": 16, + "branch": 15, + "class": 5, + "linearIndex": 3263, + "address": "0xbF69A3ec67C758Ee5f3023666Fa9a330dB862596", + "cellId": "EI-L16-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B15-C5" + }, + { + "lpbca": 16, + "branch": 16, + "class": 0, + "linearIndex": 3264, + "address": "0x035AD708433788EBaD2417a62c36e80D9d15310A", + "cellId": "EI-L16-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B16-C0" + }, + { + "lpbca": 16, + "branch": 16, + "class": 1, + "linearIndex": 3265, + "address": "0xc1E5094038175A1bBf1C5341Ae948EA91b70d34E", + "cellId": "EI-L16-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B16-C1" + }, + { + "lpbca": 16, + "branch": 16, + "class": 2, + "linearIndex": 3266, + "address": "0xf8A1c6380ceE705D6EC718B247Deb57AbB3a6E1C", + "cellId": "EI-L16-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B16-C2" + }, + { + "lpbca": 16, + "branch": 16, + "class": 3, + "linearIndex": 3267, + "address": "0xEaa339C0B987701494Eb22DADc60b02F9e41998B", + "cellId": "EI-L16-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B16-C3" + }, + { + "lpbca": 16, + "branch": 16, + "class": 4, + "linearIndex": 3268, + "address": "0xE07093A41342996e4fdDc316783EA5102d158568", + "cellId": "EI-L16-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B16-C4" + }, + { + "lpbca": 16, + "branch": 16, + "class": 5, + "linearIndex": 3269, + "address": "0x33638788C063A0eb9A9aA181bF77712636e3817E", + "cellId": "EI-L16-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B16-C5" + }, + { + "lpbca": 16, + "branch": 17, + "class": 0, + "linearIndex": 3270, + "address": "0x85d8fA06cF7cD80ae3Fb54F3Ba08C2953F52DAF5", + "cellId": "EI-L16-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B17-C0" + }, + { + "lpbca": 16, + "branch": 17, + "class": 1, + "linearIndex": 3271, + "address": "0xB330562DeBF62e729F112f6d3a2ffE32A5003C1d", + "cellId": "EI-L16-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B17-C1" + }, + { + "lpbca": 16, + "branch": 17, + "class": 2, + "linearIndex": 3272, + "address": "0xd0F171C167602Bf9307410cE8fa5e5C04EEe6d3a", + "cellId": "EI-L16-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B17-C2" + }, + { + "lpbca": 16, + "branch": 17, + "class": 3, + "linearIndex": 3273, + "address": "0xFf0b541b4E724EeB85695AC9407319067078cD22", + "cellId": "EI-L16-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B17-C3" + }, + { + "lpbca": 16, + "branch": 17, + "class": 4, + "linearIndex": 3274, + "address": "0x5543df2FBF0Cc40cf58e8A6B8d9Cbdad0b2bE605", + "cellId": "EI-L16-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B17-C4" + }, + { + "lpbca": 16, + "branch": 17, + "class": 5, + "linearIndex": 3275, + "address": "0xd39a2D1D6655dC4504D792B8Aefc854d231c5387", + "cellId": "EI-L16-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B17-C5" + }, + { + "lpbca": 16, + "branch": 18, + "class": 0, + "linearIndex": 3276, + "address": "0xaB80f143DFba39C0F6539d85D38324868fC544e2", + "cellId": "EI-L16-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B18-C0" + }, + { + "lpbca": 16, + "branch": 18, + "class": 1, + "linearIndex": 3277, + "address": "0x211018d170776624438C1419D7DdCEC7213B702B", + "cellId": "EI-L16-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B18-C1" + }, + { + "lpbca": 16, + "branch": 18, + "class": 2, + "linearIndex": 3278, + "address": "0x058A1f053005F59CD0D988108D8fA9d5ffaE4d55", + "cellId": "EI-L16-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B18-C2" + }, + { + "lpbca": 16, + "branch": 18, + "class": 3, + "linearIndex": 3279, + "address": "0x5b7D2718C0929d6aF5D82512efA031Cf182ecf67", + "cellId": "EI-L16-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B18-C3" + }, + { + "lpbca": 16, + "branch": 18, + "class": 4, + "linearIndex": 3280, + "address": "0x029D00909ccD5518e6605cD42f894B3A4dd97876", + "cellId": "EI-L16-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B18-C4" + }, + { + "lpbca": 16, + "branch": 18, + "class": 5, + "linearIndex": 3281, + "address": "0xAcDa86f5B98a62884DBe07e3662FfBb0eF3b3C77", + "cellId": "EI-L16-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B18-C5" + }, + { + "lpbca": 16, + "branch": 19, + "class": 0, + "linearIndex": 3282, + "address": "0x398164a47E5eebEA1DceB5DE5BA16b5053883Cfa", + "cellId": "EI-L16-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B19-C0" + }, + { + "lpbca": 16, + "branch": 19, + "class": 1, + "linearIndex": 3283, + "address": "0xC81Da256B2eEE39691D93b0272f3e0ACDf63603c", + "cellId": "EI-L16-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B19-C1" + }, + { + "lpbca": 16, + "branch": 19, + "class": 2, + "linearIndex": 3284, + "address": "0x45D1fbcf04629193D49D1F8c810203fd57f9FdE0", + "cellId": "EI-L16-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B19-C2" + }, + { + "lpbca": 16, + "branch": 19, + "class": 3, + "linearIndex": 3285, + "address": "0x276BB973D3Cb0e6E280E940fc9B7ABC9a662a66d", + "cellId": "EI-L16-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B19-C3" + }, + { + "lpbca": 16, + "branch": 19, + "class": 4, + "linearIndex": 3286, + "address": "0x2c307c240E84a2EfB1bBE5eD3D987bECD7a68CA9", + "cellId": "EI-L16-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B19-C4" + }, + { + "lpbca": 16, + "branch": 19, + "class": 5, + "linearIndex": 3287, + "address": "0xe6d7156Ac14eC622E69B6F76440043A4F63fB806", + "cellId": "EI-L16-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B19-C5" + }, + { + "lpbca": 16, + "branch": 20, + "class": 0, + "linearIndex": 3288, + "address": "0x412dCD4A1dc4F723BE5d04bcB3c095e98fB15Ed0", + "cellId": "EI-L16-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B20-C0" + }, + { + "lpbca": 16, + "branch": 20, + "class": 1, + "linearIndex": 3289, + "address": "0x584f2a8Badf616e2893AB2684F287eD6Dbd9BFcA", + "cellId": "EI-L16-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B20-C1" + }, + { + "lpbca": 16, + "branch": 20, + "class": 2, + "linearIndex": 3290, + "address": "0xFE6fCf4493BB627569eE7c4BDbbd1Da4c781E8fE", + "cellId": "EI-L16-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B20-C2" + }, + { + "lpbca": 16, + "branch": 20, + "class": 3, + "linearIndex": 3291, + "address": "0xDAd299980F6f4c01903BC5225b0Fd95954f4714E", + "cellId": "EI-L16-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B20-C3" + }, + { + "lpbca": 16, + "branch": 20, + "class": 4, + "linearIndex": 3292, + "address": "0x5b00ef3021466879555C1C58168a6CDcFb3052E6", + "cellId": "EI-L16-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B20-C4" + }, + { + "lpbca": 16, + "branch": 20, + "class": 5, + "linearIndex": 3293, + "address": "0x7fD3e743b58812263265575D33CB655D03Efa814", + "cellId": "EI-L16-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B20-C5" + }, + { + "lpbca": 16, + "branch": 21, + "class": 0, + "linearIndex": 3294, + "address": "0x423BF5AE5aba33f6A0755d521d320F2CB26e5AFC", + "cellId": "EI-L16-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B21-C0" + }, + { + "lpbca": 16, + "branch": 21, + "class": 1, + "linearIndex": 3295, + "address": "0x19cA10D3275Bf9cd2aA024B5a9dd16DE0FA80B06", + "cellId": "EI-L16-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B21-C1" + }, + { + "lpbca": 16, + "branch": 21, + "class": 2, + "linearIndex": 3296, + "address": "0x3474686BB1A30B7940E82AE240e5661870854a87", + "cellId": "EI-L16-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B21-C2" + }, + { + "lpbca": 16, + "branch": 21, + "class": 3, + "linearIndex": 3297, + "address": "0x2B79d9437E8Bf06AC4AC13d884511B9904Ede838", + "cellId": "EI-L16-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B21-C3" + }, + { + "lpbca": 16, + "branch": 21, + "class": 4, + "linearIndex": 3298, + "address": "0x5e1C43d38da59e0A23f9C2e5552380Fc2EB0df85", + "cellId": "EI-L16-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B21-C4" + }, + { + "lpbca": 16, + "branch": 21, + "class": 5, + "linearIndex": 3299, + "address": "0x74F5dAd791e5E762aD89BE44C12F98cf44088709", + "cellId": "EI-L16-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B21-C5" + }, + { + "lpbca": 16, + "branch": 22, + "class": 0, + "linearIndex": 3300, + "address": "0xc9da1D371318dbA465Ede4444475F72dEFB0754b", + "cellId": "EI-L16-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B22-C0" + }, + { + "lpbca": 16, + "branch": 22, + "class": 1, + "linearIndex": 3301, + "address": "0xF8a4Dcc1c2D763b288E39122BF86570592d35bc0", + "cellId": "EI-L16-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B22-C1" + }, + { + "lpbca": 16, + "branch": 22, + "class": 2, + "linearIndex": 3302, + "address": "0x8278D73c01D3Ea7139e47F5A412eD3598B218a4d", + "cellId": "EI-L16-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B22-C2" + }, + { + "lpbca": 16, + "branch": 22, + "class": 3, + "linearIndex": 3303, + "address": "0x4Ebf71ee30dA43A31385F4aF9EACcb6b6c9edeB3", + "cellId": "EI-L16-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B22-C3" + }, + { + "lpbca": 16, + "branch": 22, + "class": 4, + "linearIndex": 3304, + "address": "0x5ab9bD660CFA5C0Da7aa98f8ceFb91028a805966", + "cellId": "EI-L16-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B22-C4" + }, + { + "lpbca": 16, + "branch": 22, + "class": 5, + "linearIndex": 3305, + "address": "0x4EDB57725bA6847910f0Cb2105f191ACAdaED850", + "cellId": "EI-L16-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B22-C5" + }, + { + "lpbca": 16, + "branch": 23, + "class": 0, + "linearIndex": 3306, + "address": "0x5B7E092a0BD79Ad4B02feFb5bbD91E64b07fFaF3", + "cellId": "EI-L16-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B23-C0" + }, + { + "lpbca": 16, + "branch": 23, + "class": 1, + "linearIndex": 3307, + "address": "0x20443E07e4F274e3B2fb8723CcE79B2Fd9587652", + "cellId": "EI-L16-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B23-C1" + }, + { + "lpbca": 16, + "branch": 23, + "class": 2, + "linearIndex": 3308, + "address": "0xda1e6921d9fdD4a50E460393FEf1f112CA3C70ac", + "cellId": "EI-L16-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B23-C2" + }, + { + "lpbca": 16, + "branch": 23, + "class": 3, + "linearIndex": 3309, + "address": "0xDD8c573e6d85EA6E5Db86bbF9e88CbC8df224d38", + "cellId": "EI-L16-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B23-C3" + }, + { + "lpbca": 16, + "branch": 23, + "class": 4, + "linearIndex": 3310, + "address": "0x61Dbb7a9a3Ef058EeB16ab64f7b3E48ef0416217", + "cellId": "EI-L16-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B23-C4" + }, + { + "lpbca": 16, + "branch": 23, + "class": 5, + "linearIndex": 3311, + "address": "0x3c8A2b4D23482541CC7F6593De54F1c9a003aF44", + "cellId": "EI-L16-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B23-C5" + }, + { + "lpbca": 16, + "branch": 24, + "class": 0, + "linearIndex": 3312, + "address": "0x0c9009663B4c190DE52E4703902c03B116bF2AD4", + "cellId": "EI-L16-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B24-C0" + }, + { + "lpbca": 16, + "branch": 24, + "class": 1, + "linearIndex": 3313, + "address": "0xa5eedA0c314D4EE55988194Cb45da480349796fB", + "cellId": "EI-L16-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B24-C1" + }, + { + "lpbca": 16, + "branch": 24, + "class": 2, + "linearIndex": 3314, + "address": "0xbBd88766DCc1dF1133d227d97B2B8221928168FD", + "cellId": "EI-L16-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B24-C2" + }, + { + "lpbca": 16, + "branch": 24, + "class": 3, + "linearIndex": 3315, + "address": "0x06fbf6B685982295385a7c5a4AE3345Def4068B5", + "cellId": "EI-L16-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B24-C3" + }, + { + "lpbca": 16, + "branch": 24, + "class": 4, + "linearIndex": 3316, + "address": "0x7F78b71D3A9950b05cD481E7004407f9a73472E5", + "cellId": "EI-L16-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B24-C4" + }, + { + "lpbca": 16, + "branch": 24, + "class": 5, + "linearIndex": 3317, + "address": "0x73C2C19Ef803f55B2D42de906D37083b764de590", + "cellId": "EI-L16-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B24-C5" + }, + { + "lpbca": 16, + "branch": 25, + "class": 0, + "linearIndex": 3318, + "address": "0x9052beBD12b600Ea0bb52486902c6746EB6b5B0e", + "cellId": "EI-L16-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B25-C0" + }, + { + "lpbca": 16, + "branch": 25, + "class": 1, + "linearIndex": 3319, + "address": "0x2Bc2d1aa163b72056C43d9D49a19dD91A8154573", + "cellId": "EI-L16-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B25-C1" + }, + { + "lpbca": 16, + "branch": 25, + "class": 2, + "linearIndex": 3320, + "address": "0x076c1052aD19243a668480466CDcFd70836908a6", + "cellId": "EI-L16-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B25-C2" + }, + { + "lpbca": 16, + "branch": 25, + "class": 3, + "linearIndex": 3321, + "address": "0x8b1eE006D4F3FE4C16C20C2a445F1f86B9275888", + "cellId": "EI-L16-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B25-C3" + }, + { + "lpbca": 16, + "branch": 25, + "class": 4, + "linearIndex": 3322, + "address": "0xa463fff3415685535ef16D47929c2001a7572F56", + "cellId": "EI-L16-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B25-C4" + }, + { + "lpbca": 16, + "branch": 25, + "class": 5, + "linearIndex": 3323, + "address": "0x23F99376af63997211c21B391EC67dB0754e1A94", + "cellId": "EI-L16-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B25-C5" + }, + { + "lpbca": 16, + "branch": 26, + "class": 0, + "linearIndex": 3324, + "address": "0xd2788221Aa2C624f6bf7B925Bf26994eb7BdA9b9", + "cellId": "EI-L16-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B26-C0" + }, + { + "lpbca": 16, + "branch": 26, + "class": 1, + "linearIndex": 3325, + "address": "0x5244801c3E13B7de8E89E7275E5420a2cfd28328", + "cellId": "EI-L16-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B26-C1" + }, + { + "lpbca": 16, + "branch": 26, + "class": 2, + "linearIndex": 3326, + "address": "0x66eafabd257ec4A22d10052b2E069b04959cbdc6", + "cellId": "EI-L16-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B26-C2" + }, + { + "lpbca": 16, + "branch": 26, + "class": 3, + "linearIndex": 3327, + "address": "0xd25a21488406ccc84e81be6cfF1DD639015F9BeC", + "cellId": "EI-L16-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B26-C3" + }, + { + "lpbca": 16, + "branch": 26, + "class": 4, + "linearIndex": 3328, + "address": "0xc41B5Da98E136C5C0e7c24bDA087622d63Fcdd53", + "cellId": "EI-L16-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B26-C4" + }, + { + "lpbca": 16, + "branch": 26, + "class": 5, + "linearIndex": 3329, + "address": "0x34d3917A8fAC8a38F5a60d35CAfC1EB94bfd099A", + "cellId": "EI-L16-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B26-C5" + }, + { + "lpbca": 16, + "branch": 27, + "class": 0, + "linearIndex": 3330, + "address": "0x620b52cb681B206044CE50De8009a6899BE8F97e", + "cellId": "EI-L16-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B27-C0" + }, + { + "lpbca": 16, + "branch": 27, + "class": 1, + "linearIndex": 3331, + "address": "0xeF4C8b3e3033014697978D39A93Ab36bfB8f37b3", + "cellId": "EI-L16-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B27-C1" + }, + { + "lpbca": 16, + "branch": 27, + "class": 2, + "linearIndex": 3332, + "address": "0x848756EE391173397bB16598C8a0Da24eBC0Cc35", + "cellId": "EI-L16-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B27-C2" + }, + { + "lpbca": 16, + "branch": 27, + "class": 3, + "linearIndex": 3333, + "address": "0xC2E7Ed9a04B4A08AD8f29657Ba42364cCfb9558D", + "cellId": "EI-L16-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B27-C3" + }, + { + "lpbca": 16, + "branch": 27, + "class": 4, + "linearIndex": 3334, + "address": "0xa956771F20382c92272eDbC68bc7F10d8A9CC5c3", + "cellId": "EI-L16-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B27-C4" + }, + { + "lpbca": 16, + "branch": 27, + "class": 5, + "linearIndex": 3335, + "address": "0xB5089e90d3dD4d3581d0e2440aBbf999Ea7f04FB", + "cellId": "EI-L16-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B27-C5" + }, + { + "lpbca": 16, + "branch": 28, + "class": 0, + "linearIndex": 3336, + "address": "0xC775E2c63824a6bb1A1704dAeFe7c39297c81960", + "cellId": "EI-L16-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B28-C0" + }, + { + "lpbca": 16, + "branch": 28, + "class": 1, + "linearIndex": 3337, + "address": "0x79fE5427140c4BfBF13349C4B3F5b96DD5925430", + "cellId": "EI-L16-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B28-C1" + }, + { + "lpbca": 16, + "branch": 28, + "class": 2, + "linearIndex": 3338, + "address": "0x9cad581b82234E849aEBAB84854Ac7C9C2A01405", + "cellId": "EI-L16-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B28-C2" + }, + { + "lpbca": 16, + "branch": 28, + "class": 3, + "linearIndex": 3339, + "address": "0xc4b96D690162916A47BD33Fa1595422cF02e4194", + "cellId": "EI-L16-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B28-C3" + }, + { + "lpbca": 16, + "branch": 28, + "class": 4, + "linearIndex": 3340, + "address": "0x61959e105f276e59EA6c5DDb975aaD982c0C9B42", + "cellId": "EI-L16-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B28-C4" + }, + { + "lpbca": 16, + "branch": 28, + "class": 5, + "linearIndex": 3341, + "address": "0x659bb0AeB2a1a6dfEB28C4064524803126B61C65", + "cellId": "EI-L16-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B28-C5" + }, + { + "lpbca": 16, + "branch": 29, + "class": 0, + "linearIndex": 3342, + "address": "0x7424e97Dfa2ae65c9BbD7B1f859aDdc5b1CF0e34", + "cellId": "EI-L16-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B29-C0" + }, + { + "lpbca": 16, + "branch": 29, + "class": 1, + "linearIndex": 3343, + "address": "0x726E0ACC916C0d538281375FdaCf547efd94ed43", + "cellId": "EI-L16-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B29-C1" + }, + { + "lpbca": 16, + "branch": 29, + "class": 2, + "linearIndex": 3344, + "address": "0x2678Ce398B96036282b99cAC8f6f88A037Fa92bd", + "cellId": "EI-L16-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B29-C2" + }, + { + "lpbca": 16, + "branch": 29, + "class": 3, + "linearIndex": 3345, + "address": "0xEDFF55C2c7B30cD047FE719E91DEe37304071F06", + "cellId": "EI-L16-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B29-C3" + }, + { + "lpbca": 16, + "branch": 29, + "class": 4, + "linearIndex": 3346, + "address": "0xCeC92627657510e99953b3D791AdA96Bf7E3EE28", + "cellId": "EI-L16-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B29-C4" + }, + { + "lpbca": 16, + "branch": 29, + "class": 5, + "linearIndex": 3347, + "address": "0x6359F20123118eDBfF5A6C0a5DaB15C644222406", + "cellId": "EI-L16-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B29-C5" + }, + { + "lpbca": 16, + "branch": 30, + "class": 0, + "linearIndex": 3348, + "address": "0x47366356Bde9D6aD16FC5F8945E91FbF8f811B10", + "cellId": "EI-L16-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B30-C0" + }, + { + "lpbca": 16, + "branch": 30, + "class": 1, + "linearIndex": 3349, + "address": "0xF3357b9c465C386d041bB27d3b2562Cd69F62a2a", + "cellId": "EI-L16-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B30-C1" + }, + { + "lpbca": 16, + "branch": 30, + "class": 2, + "linearIndex": 3350, + "address": "0x4a4459a8b202506a7d8B0412Bf46F654e536fE67", + "cellId": "EI-L16-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B30-C2" + }, + { + "lpbca": 16, + "branch": 30, + "class": 3, + "linearIndex": 3351, + "address": "0x423c29993Ae2168d6645BC9B4ac1C0cf3190Dc62", + "cellId": "EI-L16-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B30-C3" + }, + { + "lpbca": 16, + "branch": 30, + "class": 4, + "linearIndex": 3352, + "address": "0x831C6fE031bd0Fd6A30094b5Aa59FE5040149c05", + "cellId": "EI-L16-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B30-C4" + }, + { + "lpbca": 16, + "branch": 30, + "class": 5, + "linearIndex": 3353, + "address": "0xFC994a93a907de12feb344d3795655Ed788cCDa0", + "cellId": "EI-L16-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B30-C5" + }, + { + "lpbca": 16, + "branch": 31, + "class": 0, + "linearIndex": 3354, + "address": "0x4648d9C0b17B3Ebb2388280b5CEc0a5358a2A745", + "cellId": "EI-L16-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B31-C0" + }, + { + "lpbca": 16, + "branch": 31, + "class": 1, + "linearIndex": 3355, + "address": "0x4485342813dD7C55a7F8E0F108637A7fCec2531b", + "cellId": "EI-L16-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B31-C1" + }, + { + "lpbca": 16, + "branch": 31, + "class": 2, + "linearIndex": 3356, + "address": "0x18859ea6c4e38E0Ca118fD1307cB1d65eEc8def8", + "cellId": "EI-L16-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B31-C2" + }, + { + "lpbca": 16, + "branch": 31, + "class": 3, + "linearIndex": 3357, + "address": "0x4dbBf7fF4b1d745053e5c96F62c3514d61649b1B", + "cellId": "EI-L16-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B31-C3" + }, + { + "lpbca": 16, + "branch": 31, + "class": 4, + "linearIndex": 3358, + "address": "0xdC6484DA3ce310fe286261E8b43DC72E68Acc656", + "cellId": "EI-L16-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B31-C4" + }, + { + "lpbca": 16, + "branch": 31, + "class": 5, + "linearIndex": 3359, + "address": "0x871b22459Ae00BEB7B61FA45b743623437113521", + "cellId": "EI-L16-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B31-C5" + }, + { + "lpbca": 16, + "branch": 32, + "class": 0, + "linearIndex": 3360, + "address": "0xf15E6CE0F83af7bCfb5C75A2E25A611ACe37bdD4", + "cellId": "EI-L16-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B32-C0" + }, + { + "lpbca": 16, + "branch": 32, + "class": 1, + "linearIndex": 3361, + "address": "0xa778264a0b913258f114749c9c5E80348E81f34c", + "cellId": "EI-L16-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B32-C1" + }, + { + "lpbca": 16, + "branch": 32, + "class": 2, + "linearIndex": 3362, + "address": "0xae4202142d72743ca42Ab610137Fda463146CAf0", + "cellId": "EI-L16-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B32-C2" + }, + { + "lpbca": 16, + "branch": 32, + "class": 3, + "linearIndex": 3363, + "address": "0x8f5b1dDBDBb05Cc5AA8186EEe0D54D8aF4974EC5", + "cellId": "EI-L16-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B32-C3" + }, + { + "lpbca": 16, + "branch": 32, + "class": 4, + "linearIndex": 3364, + "address": "0xED0972f932634cB86c988889eD5F06991DD28BD0", + "cellId": "EI-L16-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B32-C4" + }, + { + "lpbca": 16, + "branch": 32, + "class": 5, + "linearIndex": 3365, + "address": "0x82b72F5A6328ed7Fe05bEeBA8A86a86A363ef3Ee", + "cellId": "EI-L16-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L16-B32-C5" + }, + { + "lpbca": 17, + "branch": 0, + "class": 0, + "linearIndex": 3366, + "address": "0x1512Bc14d77dec237072bFf66627029EaE9Ec4bd", + "cellId": "EI-L17-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B00-C0" + }, + { + "lpbca": 17, + "branch": 0, + "class": 1, + "linearIndex": 3367, + "address": "0x0981e3540b0115B6fA274684180Ae3E1E39608e6", + "cellId": "EI-L17-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B00-C1" + }, + { + "lpbca": 17, + "branch": 0, + "class": 2, + "linearIndex": 3368, + "address": "0xba5e16eBecc6C11D152E2522BeA724A390aCdeA5", + "cellId": "EI-L17-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B00-C2" + }, + { + "lpbca": 17, + "branch": 0, + "class": 3, + "linearIndex": 3369, + "address": "0x1131F1BE2801D0076d756112841E08669B16653D", + "cellId": "EI-L17-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B00-C3" + }, + { + "lpbca": 17, + "branch": 0, + "class": 4, + "linearIndex": 3370, + "address": "0x0f812eB835EcFfED328B44b33DF2AfCA69c52351", + "cellId": "EI-L17-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B00-C4" + }, + { + "lpbca": 17, + "branch": 0, + "class": 5, + "linearIndex": 3371, + "address": "0x841C42f5EE6bA0Dbd2D0aC3cE21cf8cf4adeD068", + "cellId": "EI-L17-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B00-C5" + }, + { + "lpbca": 17, + "branch": 1, + "class": 0, + "linearIndex": 3372, + "address": "0x457e208Ec7Fcc2ceC30906C231Dfe27350A18eE1", + "cellId": "EI-L17-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B01-C0" + }, + { + "lpbca": 17, + "branch": 1, + "class": 1, + "linearIndex": 3373, + "address": "0x9bcD1111cb5B3c0ca52dBae652923194f50B5ea0", + "cellId": "EI-L17-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B01-C1" + }, + { + "lpbca": 17, + "branch": 1, + "class": 2, + "linearIndex": 3374, + "address": "0xd2127c93035D3E5C20D75076a1484D5AAC0eD374", + "cellId": "EI-L17-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B01-C2" + }, + { + "lpbca": 17, + "branch": 1, + "class": 3, + "linearIndex": 3375, + "address": "0x76Eb965760132633f1EDecb23f470d05bF76D79f", + "cellId": "EI-L17-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B01-C3" + }, + { + "lpbca": 17, + "branch": 1, + "class": 4, + "linearIndex": 3376, + "address": "0xc60b61E15D640033b784152a2C8Cb8ACDEA79e20", + "cellId": "EI-L17-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B01-C4" + }, + { + "lpbca": 17, + "branch": 1, + "class": 5, + "linearIndex": 3377, + "address": "0x01f62cee5470471D8B0E65A6b35eb6cf64D50A12", + "cellId": "EI-L17-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B01-C5" + }, + { + "lpbca": 17, + "branch": 2, + "class": 0, + "linearIndex": 3378, + "address": "0x8266c5Ca385755e3e51e07e5855B75DdD0c1D6A8", + "cellId": "EI-L17-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B02-C0" + }, + { + "lpbca": 17, + "branch": 2, + "class": 1, + "linearIndex": 3379, + "address": "0x59EC56015C3B92EcAa4E449E79cb92fd6B1FEEAF", + "cellId": "EI-L17-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B02-C1" + }, + { + "lpbca": 17, + "branch": 2, + "class": 2, + "linearIndex": 3380, + "address": "0x2d8fbFD6f5ab30Fd8E531f5d3D3D2Ae9e74dA9F5", + "cellId": "EI-L17-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B02-C2" + }, + { + "lpbca": 17, + "branch": 2, + "class": 3, + "linearIndex": 3381, + "address": "0x31326c0aDb09cA1a30615e7E794A74225621DCB5", + "cellId": "EI-L17-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B02-C3" + }, + { + "lpbca": 17, + "branch": 2, + "class": 4, + "linearIndex": 3382, + "address": "0x9A92e28E3C29187385c09d7Fc854145c86ac1BF2", + "cellId": "EI-L17-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B02-C4" + }, + { + "lpbca": 17, + "branch": 2, + "class": 5, + "linearIndex": 3383, + "address": "0x82a71c86580B3C4FAF3cC5fC850296e901cB1a53", + "cellId": "EI-L17-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B02-C5" + }, + { + "lpbca": 17, + "branch": 3, + "class": 0, + "linearIndex": 3384, + "address": "0x61dFCa1F64C405cA742Fc6B8a6784Cbe7Ee7F7c1", + "cellId": "EI-L17-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B03-C0" + }, + { + "lpbca": 17, + "branch": 3, + "class": 1, + "linearIndex": 3385, + "address": "0xf41A5e85605fc2858cB35C6CC901122331ea6154", + "cellId": "EI-L17-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B03-C1" + }, + { + "lpbca": 17, + "branch": 3, + "class": 2, + "linearIndex": 3386, + "address": "0x8F962EC5b077c75792deFdA29555aE341Fe2148d", + "cellId": "EI-L17-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B03-C2" + }, + { + "lpbca": 17, + "branch": 3, + "class": 3, + "linearIndex": 3387, + "address": "0x4c5714292edB70040338C17a3DA37c1aAc367d67", + "cellId": "EI-L17-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B03-C3" + }, + { + "lpbca": 17, + "branch": 3, + "class": 4, + "linearIndex": 3388, + "address": "0xdd0421233676cCB06019ae56921772BcE302c8C6", + "cellId": "EI-L17-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B03-C4" + }, + { + "lpbca": 17, + "branch": 3, + "class": 5, + "linearIndex": 3389, + "address": "0xEb84a71217944cD3c1353A676AE1e9Cdb724946b", + "cellId": "EI-L17-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B03-C5" + }, + { + "lpbca": 17, + "branch": 4, + "class": 0, + "linearIndex": 3390, + "address": "0x609f6E270087c2eb45c3D4D3300F02B36E52cE49", + "cellId": "EI-L17-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B04-C0" + }, + { + "lpbca": 17, + "branch": 4, + "class": 1, + "linearIndex": 3391, + "address": "0xD830151Ed417D27220ad0Ed4fA20c216353ab0E5", + "cellId": "EI-L17-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B04-C1" + }, + { + "lpbca": 17, + "branch": 4, + "class": 2, + "linearIndex": 3392, + "address": "0xb2213F5D3d40f19282F4951Bd0d45F33b24Fb9fA", + "cellId": "EI-L17-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B04-C2" + }, + { + "lpbca": 17, + "branch": 4, + "class": 3, + "linearIndex": 3393, + "address": "0x95b39903a3E783e6ef7ADA750D7BEe1B77183464", + "cellId": "EI-L17-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B04-C3" + }, + { + "lpbca": 17, + "branch": 4, + "class": 4, + "linearIndex": 3394, + "address": "0x8F23F868f330f53fB768445070A7A296cE4244a5", + "cellId": "EI-L17-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B04-C4" + }, + { + "lpbca": 17, + "branch": 4, + "class": 5, + "linearIndex": 3395, + "address": "0x153d015a13Ec76278041d29324F33255B80C60E0", + "cellId": "EI-L17-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B04-C5" + }, + { + "lpbca": 17, + "branch": 5, + "class": 0, + "linearIndex": 3396, + "address": "0x61ff17294CDAB0051423Ca77350e95356764D1A0", + "cellId": "EI-L17-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B05-C0" + }, + { + "lpbca": 17, + "branch": 5, + "class": 1, + "linearIndex": 3397, + "address": "0x20a7EadccAb2215f4d2C4187c2DD6373503C4cd2", + "cellId": "EI-L17-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B05-C1" + }, + { + "lpbca": 17, + "branch": 5, + "class": 2, + "linearIndex": 3398, + "address": "0x39847cfe8d0FF602A27763bB52fA696e8d49E98d", + "cellId": "EI-L17-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B05-C2" + }, + { + "lpbca": 17, + "branch": 5, + "class": 3, + "linearIndex": 3399, + "address": "0xE1d1Ad79CA69d6196C8685E727E8d7F3341a9d44", + "cellId": "EI-L17-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B05-C3" + }, + { + "lpbca": 17, + "branch": 5, + "class": 4, + "linearIndex": 3400, + "address": "0x5147052a0D9739cFE710Aaa80A3CFD7E7F2e4cE2", + "cellId": "EI-L17-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B05-C4" + }, + { + "lpbca": 17, + "branch": 5, + "class": 5, + "linearIndex": 3401, + "address": "0x4eD98067B4240Ec6268201C1B7B982cE4B02fCce", + "cellId": "EI-L17-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B05-C5" + }, + { + "lpbca": 17, + "branch": 6, + "class": 0, + "linearIndex": 3402, + "address": "0x98Dc9f4625e03d24C81eA8951c490C870010E4AB", + "cellId": "EI-L17-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B06-C0" + }, + { + "lpbca": 17, + "branch": 6, + "class": 1, + "linearIndex": 3403, + "address": "0x13FE4070eDF9249201Ec3c46d0063299B9622Dea", + "cellId": "EI-L17-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B06-C1" + }, + { + "lpbca": 17, + "branch": 6, + "class": 2, + "linearIndex": 3404, + "address": "0x713ac369B7aBD9553b02FC8Abee410508897C2F9", + "cellId": "EI-L17-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B06-C2" + }, + { + "lpbca": 17, + "branch": 6, + "class": 3, + "linearIndex": 3405, + "address": "0xC77Db02b99c2332Ea142daF1B19cAE350ED14710", + "cellId": "EI-L17-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B06-C3" + }, + { + "lpbca": 17, + "branch": 6, + "class": 4, + "linearIndex": 3406, + "address": "0x28Ac8dF24C9696f837a1B329478Dfff1B6367207", + "cellId": "EI-L17-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B06-C4" + }, + { + "lpbca": 17, + "branch": 6, + "class": 5, + "linearIndex": 3407, + "address": "0xa8Dd1100Bb1c35C2619D9204B15392D4D72bD347", + "cellId": "EI-L17-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B06-C5" + }, + { + "lpbca": 17, + "branch": 7, + "class": 0, + "linearIndex": 3408, + "address": "0x90C91F97E06A2BBad155af7ac6BFe56D1c741E07", + "cellId": "EI-L17-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B07-C0" + }, + { + "lpbca": 17, + "branch": 7, + "class": 1, + "linearIndex": 3409, + "address": "0x96598c7865ca25f065f545B7092162e13f8c2fc0", + "cellId": "EI-L17-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B07-C1" + }, + { + "lpbca": 17, + "branch": 7, + "class": 2, + "linearIndex": 3410, + "address": "0x5066df6D811c9602a524516f8aBb066659554dC7", + "cellId": "EI-L17-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B07-C2" + }, + { + "lpbca": 17, + "branch": 7, + "class": 3, + "linearIndex": 3411, + "address": "0x420Cf3784C978A1c429C72f4f9f5aa3f04c8b7cf", + "cellId": "EI-L17-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B07-C3" + }, + { + "lpbca": 17, + "branch": 7, + "class": 4, + "linearIndex": 3412, + "address": "0xCEf0724C308e4cA533C095Cd93Ce00cDda63b0AF", + "cellId": "EI-L17-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B07-C4" + }, + { + "lpbca": 17, + "branch": 7, + "class": 5, + "linearIndex": 3413, + "address": "0x2d3be141E3A542232Ad90528F7e0FB52b2999599", + "cellId": "EI-L17-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B07-C5" + }, + { + "lpbca": 17, + "branch": 8, + "class": 0, + "linearIndex": 3414, + "address": "0xffDA5a432d65Fb8ab5E460EB1C6021fD9590AC8D", + "cellId": "EI-L17-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B08-C0" + }, + { + "lpbca": 17, + "branch": 8, + "class": 1, + "linearIndex": 3415, + "address": "0x623a9E71470EC54EB8a47118aD62A59b19609667", + "cellId": "EI-L17-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B08-C1" + }, + { + "lpbca": 17, + "branch": 8, + "class": 2, + "linearIndex": 3416, + "address": "0x095c51593A80DB7E56B0489cE8A3445395141414", + "cellId": "EI-L17-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B08-C2" + }, + { + "lpbca": 17, + "branch": 8, + "class": 3, + "linearIndex": 3417, + "address": "0x57175B1145A01764Ad4F1601ED8CbE7a12BCD56B", + "cellId": "EI-L17-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B08-C3" + }, + { + "lpbca": 17, + "branch": 8, + "class": 4, + "linearIndex": 3418, + "address": "0xFdA7020a8Dd26e78e2b09667Fc9d42d2d8c9271F", + "cellId": "EI-L17-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B08-C4" + }, + { + "lpbca": 17, + "branch": 8, + "class": 5, + "linearIndex": 3419, + "address": "0x072B56479e7CFdE799f26B444ee992DE3F5316D0", + "cellId": "EI-L17-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B08-C5" + }, + { + "lpbca": 17, + "branch": 9, + "class": 0, + "linearIndex": 3420, + "address": "0x04A67C01Cfc35D30E783dD64e85A78F5F23B81C3", + "cellId": "EI-L17-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B09-C0" + }, + { + "lpbca": 17, + "branch": 9, + "class": 1, + "linearIndex": 3421, + "address": "0x4bB1De5a36352B7EA94A941fca005cE53AD28Fd7", + "cellId": "EI-L17-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B09-C1" + }, + { + "lpbca": 17, + "branch": 9, + "class": 2, + "linearIndex": 3422, + "address": "0xfb0c883E0C719eBad4f7e255DfEAF8c48C96E8eF", + "cellId": "EI-L17-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B09-C2" + }, + { + "lpbca": 17, + "branch": 9, + "class": 3, + "linearIndex": 3423, + "address": "0x839cD4F5b0c00C96B47002165b2619Bfd87d4ce8", + "cellId": "EI-L17-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B09-C3" + }, + { + "lpbca": 17, + "branch": 9, + "class": 4, + "linearIndex": 3424, + "address": "0x18E063EB791170F952c331680452bd3109243551", + "cellId": "EI-L17-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B09-C4" + }, + { + "lpbca": 17, + "branch": 9, + "class": 5, + "linearIndex": 3425, + "address": "0xCA60d2D9a4e199311A449a1141972Ba553549b7D", + "cellId": "EI-L17-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B09-C5" + }, + { + "lpbca": 17, + "branch": 10, + "class": 0, + "linearIndex": 3426, + "address": "0x43Ca32d4bbe7d6FaF38f79B7021E36C33EF6ef28", + "cellId": "EI-L17-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B10-C0" + }, + { + "lpbca": 17, + "branch": 10, + "class": 1, + "linearIndex": 3427, + "address": "0x818abC572b7F52021668651D8403B04C041b7FfC", + "cellId": "EI-L17-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B10-C1" + }, + { + "lpbca": 17, + "branch": 10, + "class": 2, + "linearIndex": 3428, + "address": "0x36f9ba8938f294024a4C60557A0cCE94845c76B3", + "cellId": "EI-L17-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B10-C2" + }, + { + "lpbca": 17, + "branch": 10, + "class": 3, + "linearIndex": 3429, + "address": "0xF7735bE900c0c594c293675b24DF6A889a12ac19", + "cellId": "EI-L17-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B10-C3" + }, + { + "lpbca": 17, + "branch": 10, + "class": 4, + "linearIndex": 3430, + "address": "0x8599eCfA995fd20588BAE33Da33C0cB888C1F9eF", + "cellId": "EI-L17-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B10-C4" + }, + { + "lpbca": 17, + "branch": 10, + "class": 5, + "linearIndex": 3431, + "address": "0x7df5526Fd11Ab036919ADdE9188859cB1eEcd24E", + "cellId": "EI-L17-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B10-C5" + }, + { + "lpbca": 17, + "branch": 11, + "class": 0, + "linearIndex": 3432, + "address": "0x6E59aA1506caE1aB2A23B04BeF6A06B8970d1927", + "cellId": "EI-L17-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B11-C0" + }, + { + "lpbca": 17, + "branch": 11, + "class": 1, + "linearIndex": 3433, + "address": "0x1d7c6316aB76A9ACd76A9EE77644cD19Bc4Eb171", + "cellId": "EI-L17-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B11-C1" + }, + { + "lpbca": 17, + "branch": 11, + "class": 2, + "linearIndex": 3434, + "address": "0xB95b87BFd0C6b92ca95C6596FC16e07ba61CC191", + "cellId": "EI-L17-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B11-C2" + }, + { + "lpbca": 17, + "branch": 11, + "class": 3, + "linearIndex": 3435, + "address": "0x44d9d988Dda6526bB467B2fd936F4e2991dfeB6D", + "cellId": "EI-L17-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B11-C3" + }, + { + "lpbca": 17, + "branch": 11, + "class": 4, + "linearIndex": 3436, + "address": "0x87BA998AFE8d13577e372B98E0964EF75732Ca92", + "cellId": "EI-L17-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B11-C4" + }, + { + "lpbca": 17, + "branch": 11, + "class": 5, + "linearIndex": 3437, + "address": "0x6BB327F93e2365CC53230B3E0996BfbcC8E7e0A3", + "cellId": "EI-L17-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B11-C5" + }, + { + "lpbca": 17, + "branch": 12, + "class": 0, + "linearIndex": 3438, + "address": "0x08Fb91a7dF48d1e5eA9717D5B340F73A2E499a8F", + "cellId": "EI-L17-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B12-C0" + }, + { + "lpbca": 17, + "branch": 12, + "class": 1, + "linearIndex": 3439, + "address": "0xB0F068090f2E457265E3974dAB1b3eFfC479D192", + "cellId": "EI-L17-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B12-C1" + }, + { + "lpbca": 17, + "branch": 12, + "class": 2, + "linearIndex": 3440, + "address": "0xBba735546386A5a96d1aC987E376Ea47bfA876c8", + "cellId": "EI-L17-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B12-C2" + }, + { + "lpbca": 17, + "branch": 12, + "class": 3, + "linearIndex": 3441, + "address": "0x4a38B2c9A43433227634e4d9f39eE64DdA55b24f", + "cellId": "EI-L17-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B12-C3" + }, + { + "lpbca": 17, + "branch": 12, + "class": 4, + "linearIndex": 3442, + "address": "0x4923032c3D03a5140E811Bd0fbE564a3Bef3904F", + "cellId": "EI-L17-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B12-C4" + }, + { + "lpbca": 17, + "branch": 12, + "class": 5, + "linearIndex": 3443, + "address": "0xbf7b9FdAc48Fc4Adde3a4B62e82A2949c8E085a8", + "cellId": "EI-L17-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B12-C5" + }, + { + "lpbca": 17, + "branch": 13, + "class": 0, + "linearIndex": 3444, + "address": "0x22DBC2F71AEd3d250e080fD7D36b8FFAE2E29f56", + "cellId": "EI-L17-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B13-C0" + }, + { + "lpbca": 17, + "branch": 13, + "class": 1, + "linearIndex": 3445, + "address": "0x413fc1D7e7755358096d47fA107F382f7a60e4f2", + "cellId": "EI-L17-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B13-C1" + }, + { + "lpbca": 17, + "branch": 13, + "class": 2, + "linearIndex": 3446, + "address": "0xe06277EBCc9F8e69f1e508126fb3cDA5BABd32C7", + "cellId": "EI-L17-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B13-C2" + }, + { + "lpbca": 17, + "branch": 13, + "class": 3, + "linearIndex": 3447, + "address": "0x1b7abB9753eb6946d3bd2fdF050fAd9134A377F0", + "cellId": "EI-L17-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B13-C3" + }, + { + "lpbca": 17, + "branch": 13, + "class": 4, + "linearIndex": 3448, + "address": "0x150e93Dc5F6A0F38e64c6a4F442DeA0511921ecD", + "cellId": "EI-L17-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B13-C4" + }, + { + "lpbca": 17, + "branch": 13, + "class": 5, + "linearIndex": 3449, + "address": "0x187AA048b2005b50c118606588160085789eF90f", + "cellId": "EI-L17-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B13-C5" + }, + { + "lpbca": 17, + "branch": 14, + "class": 0, + "linearIndex": 3450, + "address": "0xDD123859DfF7B918f4F1d9B208f24CDe17d25af9", + "cellId": "EI-L17-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B14-C0" + }, + { + "lpbca": 17, + "branch": 14, + "class": 1, + "linearIndex": 3451, + "address": "0x7265a61b42cE2eCEF963576F3845075D3F4dF110", + "cellId": "EI-L17-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B14-C1" + }, + { + "lpbca": 17, + "branch": 14, + "class": 2, + "linearIndex": 3452, + "address": "0x4c87e28d9b4e0122A64fE3eB5722a8b0B2AD5A1C", + "cellId": "EI-L17-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B14-C2" + }, + { + "lpbca": 17, + "branch": 14, + "class": 3, + "linearIndex": 3453, + "address": "0xC27dFf3B2a780eEc8bc668ee0ac445cf576957a6", + "cellId": "EI-L17-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B14-C3" + }, + { + "lpbca": 17, + "branch": 14, + "class": 4, + "linearIndex": 3454, + "address": "0x9CF70085A0960E83a4BF5DaA08D9AE68A6b8a9A4", + "cellId": "EI-L17-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B14-C4" + }, + { + "lpbca": 17, + "branch": 14, + "class": 5, + "linearIndex": 3455, + "address": "0xE653474ab1F64ac4363Bb70E9AA1D13d72D4E1c6", + "cellId": "EI-L17-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B14-C5" + }, + { + "lpbca": 17, + "branch": 15, + "class": 0, + "linearIndex": 3456, + "address": "0xDFcF4f1ac3E8EA65Af98F1801A26eC6255d7eF6f", + "cellId": "EI-L17-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B15-C0" + }, + { + "lpbca": 17, + "branch": 15, + "class": 1, + "linearIndex": 3457, + "address": "0x46Aaa776D4B57CB6a457e2338738C65e64A1B748", + "cellId": "EI-L17-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B15-C1" + }, + { + "lpbca": 17, + "branch": 15, + "class": 2, + "linearIndex": 3458, + "address": "0x83C6612c4de61B394f5510977c4e60466d30d260", + "cellId": "EI-L17-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B15-C2" + }, + { + "lpbca": 17, + "branch": 15, + "class": 3, + "linearIndex": 3459, + "address": "0x57b00EbB3dA0cF746B81A83AAA1B5f2EB0e2199c", + "cellId": "EI-L17-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B15-C3" + }, + { + "lpbca": 17, + "branch": 15, + "class": 4, + "linearIndex": 3460, + "address": "0x07CF1659e5286bCc6d43E3c86E69F11B8eF8eF35", + "cellId": "EI-L17-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B15-C4" + }, + { + "lpbca": 17, + "branch": 15, + "class": 5, + "linearIndex": 3461, + "address": "0xD35b82C96339c79e1ddD40193cD631492634b2DB", + "cellId": "EI-L17-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B15-C5" + }, + { + "lpbca": 17, + "branch": 16, + "class": 0, + "linearIndex": 3462, + "address": "0xf22Ea08013B5b86D1BEDf84cDc0fDf0Aa3E1A4f5", + "cellId": "EI-L17-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B16-C0" + }, + { + "lpbca": 17, + "branch": 16, + "class": 1, + "linearIndex": 3463, + "address": "0x88233525c00eC8D226B05e965cC76EAE61426847", + "cellId": "EI-L17-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B16-C1" + }, + { + "lpbca": 17, + "branch": 16, + "class": 2, + "linearIndex": 3464, + "address": "0xcF846202eC46387f7f343d63F8AE6E78C68Ac7E7", + "cellId": "EI-L17-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B16-C2" + }, + { + "lpbca": 17, + "branch": 16, + "class": 3, + "linearIndex": 3465, + "address": "0x19816d5720751247CFD3B1BC61F66567C5811481", + "cellId": "EI-L17-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B16-C3" + }, + { + "lpbca": 17, + "branch": 16, + "class": 4, + "linearIndex": 3466, + "address": "0x6Aa31D2753011919C1da7cC42C1c49e6Abc3A8d3", + "cellId": "EI-L17-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B16-C4" + }, + { + "lpbca": 17, + "branch": 16, + "class": 5, + "linearIndex": 3467, + "address": "0xc2e2cA8636Da486Dc1accB2Ae6a75eBaB0112932", + "cellId": "EI-L17-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B16-C5" + }, + { + "lpbca": 17, + "branch": 17, + "class": 0, + "linearIndex": 3468, + "address": "0x739ffF420f620831ebe4F96B4784c2f9860a3873", + "cellId": "EI-L17-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B17-C0" + }, + { + "lpbca": 17, + "branch": 17, + "class": 1, + "linearIndex": 3469, + "address": "0xf91ABF9a22901F4AE9b05e6E3fAb64d9a13B3D58", + "cellId": "EI-L17-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B17-C1" + }, + { + "lpbca": 17, + "branch": 17, + "class": 2, + "linearIndex": 3470, + "address": "0xC7997424111615a05074E649D1031Ee2ED8b3472", + "cellId": "EI-L17-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B17-C2" + }, + { + "lpbca": 17, + "branch": 17, + "class": 3, + "linearIndex": 3471, + "address": "0x552d029B9f5123852faF9C0740bcc995A099e1bb", + "cellId": "EI-L17-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B17-C3" + }, + { + "lpbca": 17, + "branch": 17, + "class": 4, + "linearIndex": 3472, + "address": "0x458b9A475431970FEA6B0581acb55F3ea5725CB4", + "cellId": "EI-L17-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B17-C4" + }, + { + "lpbca": 17, + "branch": 17, + "class": 5, + "linearIndex": 3473, + "address": "0xB7888e3Ac2258bCa4D75A4c24F4dB25ebA50D991", + "cellId": "EI-L17-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B17-C5" + }, + { + "lpbca": 17, + "branch": 18, + "class": 0, + "linearIndex": 3474, + "address": "0x8cD63F1e41Cc1E8653B0a873f1d8863a064dF873", + "cellId": "EI-L17-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B18-C0" + }, + { + "lpbca": 17, + "branch": 18, + "class": 1, + "linearIndex": 3475, + "address": "0x74DF5679c46CdEa870b7a1398fC896743A8f2e3E", + "cellId": "EI-L17-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B18-C1" + }, + { + "lpbca": 17, + "branch": 18, + "class": 2, + "linearIndex": 3476, + "address": "0x5CE988E11a32fe91C06AE3C6D2d580Fa100231CD", + "cellId": "EI-L17-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B18-C2" + }, + { + "lpbca": 17, + "branch": 18, + "class": 3, + "linearIndex": 3477, + "address": "0xECF69420e9682792Ec3088c5d4506C4e4aFF095B", + "cellId": "EI-L17-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B18-C3" + }, + { + "lpbca": 17, + "branch": 18, + "class": 4, + "linearIndex": 3478, + "address": "0xa2f5138002bd3FbF46C197650822a32Ca4c4727e", + "cellId": "EI-L17-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B18-C4" + }, + { + "lpbca": 17, + "branch": 18, + "class": 5, + "linearIndex": 3479, + "address": "0x8583d8e984A4266B886A6c0e36de8d9BE529C133", + "cellId": "EI-L17-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B18-C5" + }, + { + "lpbca": 17, + "branch": 19, + "class": 0, + "linearIndex": 3480, + "address": "0xe045d77516113D01e5C2417E5d38A805CC4262cf", + "cellId": "EI-L17-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B19-C0" + }, + { + "lpbca": 17, + "branch": 19, + "class": 1, + "linearIndex": 3481, + "address": "0x77C95Eef5C658F1747520573d4F519B27c43ed9C", + "cellId": "EI-L17-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B19-C1" + }, + { + "lpbca": 17, + "branch": 19, + "class": 2, + "linearIndex": 3482, + "address": "0xC8DCdcF9526d9459C9Fc9C0843d16750A3F06F59", + "cellId": "EI-L17-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B19-C2" + }, + { + "lpbca": 17, + "branch": 19, + "class": 3, + "linearIndex": 3483, + "address": "0x00B809C926D37ab147aD7dc3B04Fc3A58AD532bf", + "cellId": "EI-L17-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B19-C3" + }, + { + "lpbca": 17, + "branch": 19, + "class": 4, + "linearIndex": 3484, + "address": "0xB8412fE1EeD930158CE1D0CE3EF76f0ff215EAC2", + "cellId": "EI-L17-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B19-C4" + }, + { + "lpbca": 17, + "branch": 19, + "class": 5, + "linearIndex": 3485, + "address": "0x47534841C6955AD6e9815bdcAB3C01c372279b17", + "cellId": "EI-L17-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B19-C5" + }, + { + "lpbca": 17, + "branch": 20, + "class": 0, + "linearIndex": 3486, + "address": "0xEac6d667313C598C18251D1578BcDafFfa4D518F", + "cellId": "EI-L17-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B20-C0" + }, + { + "lpbca": 17, + "branch": 20, + "class": 1, + "linearIndex": 3487, + "address": "0x07986433494F460aCDAbF508e872aec3b305a3Bc", + "cellId": "EI-L17-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B20-C1" + }, + { + "lpbca": 17, + "branch": 20, + "class": 2, + "linearIndex": 3488, + "address": "0x4571e4cE7DA56d18103CB38625404e3c93A5f123", + "cellId": "EI-L17-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B20-C2" + }, + { + "lpbca": 17, + "branch": 20, + "class": 3, + "linearIndex": 3489, + "address": "0x9c14c50708Cb905DC9dE1B5458758fc6941FE53d", + "cellId": "EI-L17-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B20-C3" + }, + { + "lpbca": 17, + "branch": 20, + "class": 4, + "linearIndex": 3490, + "address": "0xFA510de253f0Baac42B893B4b00779090E3a55bA", + "cellId": "EI-L17-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B20-C4" + }, + { + "lpbca": 17, + "branch": 20, + "class": 5, + "linearIndex": 3491, + "address": "0xB486c4516427a490f19ED4aFAFcCc5e1C019D3Df", + "cellId": "EI-L17-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B20-C5" + }, + { + "lpbca": 17, + "branch": 21, + "class": 0, + "linearIndex": 3492, + "address": "0x675cdEbF78cc7118308CD518DdFd6B84d522815c", + "cellId": "EI-L17-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B21-C0" + }, + { + "lpbca": 17, + "branch": 21, + "class": 1, + "linearIndex": 3493, + "address": "0xDa196fE10a8375b01AE17699402afbC4598BD91e", + "cellId": "EI-L17-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B21-C1" + }, + { + "lpbca": 17, + "branch": 21, + "class": 2, + "linearIndex": 3494, + "address": "0x8e9D9966DAE8400752775550F60d76d9F7273546", + "cellId": "EI-L17-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B21-C2" + }, + { + "lpbca": 17, + "branch": 21, + "class": 3, + "linearIndex": 3495, + "address": "0x8eF084B1eCd6773EC3889AD25E34f30b340b8FA4", + "cellId": "EI-L17-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B21-C3" + }, + { + "lpbca": 17, + "branch": 21, + "class": 4, + "linearIndex": 3496, + "address": "0xc912b6Ae1DA05f7B1298cc7F013fceeB13779E65", + "cellId": "EI-L17-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B21-C4" + }, + { + "lpbca": 17, + "branch": 21, + "class": 5, + "linearIndex": 3497, + "address": "0x8CCc342E9ADf74C3d39c5f6B87ADb438802D552d", + "cellId": "EI-L17-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B21-C5" + }, + { + "lpbca": 17, + "branch": 22, + "class": 0, + "linearIndex": 3498, + "address": "0xa77910EA42d94255Ae78489c38AF7955170566cd", + "cellId": "EI-L17-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B22-C0" + }, + { + "lpbca": 17, + "branch": 22, + "class": 1, + "linearIndex": 3499, + "address": "0x10c2b30A136d57e9Bf806CBFC20c9e561d3d281f", + "cellId": "EI-L17-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B22-C1" + }, + { + "lpbca": 17, + "branch": 22, + "class": 2, + "linearIndex": 3500, + "address": "0x963e26795f6fD18068C4e98859f6cF1E7A09eCeA", + "cellId": "EI-L17-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B22-C2" + }, + { + "lpbca": 17, + "branch": 22, + "class": 3, + "linearIndex": 3501, + "address": "0x898a0086C6859Da66a5cCc9Fc816b59C8537b73F", + "cellId": "EI-L17-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B22-C3" + }, + { + "lpbca": 17, + "branch": 22, + "class": 4, + "linearIndex": 3502, + "address": "0x9307Ba460815333128102765aBD129054E2BCBFF", + "cellId": "EI-L17-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B22-C4" + }, + { + "lpbca": 17, + "branch": 22, + "class": 5, + "linearIndex": 3503, + "address": "0x3956E06E4c06DdD85c009E55f2128962B7735451", + "cellId": "EI-L17-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B22-C5" + }, + { + "lpbca": 17, + "branch": 23, + "class": 0, + "linearIndex": 3504, + "address": "0x026FB002202f36ADCb720051CBB2D89a414030e8", + "cellId": "EI-L17-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B23-C0" + }, + { + "lpbca": 17, + "branch": 23, + "class": 1, + "linearIndex": 3505, + "address": "0x72cc8B7983FB2Dd4811f36fFa21A74f3bC6207B9", + "cellId": "EI-L17-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B23-C1" + }, + { + "lpbca": 17, + "branch": 23, + "class": 2, + "linearIndex": 3506, + "address": "0x5725CA52BA3013FF144A676a6579bE80153E7EC8", + "cellId": "EI-L17-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B23-C2" + }, + { + "lpbca": 17, + "branch": 23, + "class": 3, + "linearIndex": 3507, + "address": "0x3b9127cb435656317041d3AaC9BCE44A3Ac297D6", + "cellId": "EI-L17-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B23-C3" + }, + { + "lpbca": 17, + "branch": 23, + "class": 4, + "linearIndex": 3508, + "address": "0x3D2044DC133a5136910B87D37A4C506453161112", + "cellId": "EI-L17-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B23-C4" + }, + { + "lpbca": 17, + "branch": 23, + "class": 5, + "linearIndex": 3509, + "address": "0x93c816EA6b381DE3720F0B95543C12B265f1b595", + "cellId": "EI-L17-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B23-C5" + }, + { + "lpbca": 17, + "branch": 24, + "class": 0, + "linearIndex": 3510, + "address": "0x65A9c1C2f96360aed43B8970196ad5B55dEA2343", + "cellId": "EI-L17-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B24-C0" + }, + { + "lpbca": 17, + "branch": 24, + "class": 1, + "linearIndex": 3511, + "address": "0x460350ac1Fb43508d9636aad70Ec4CC619B918F5", + "cellId": "EI-L17-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B24-C1" + }, + { + "lpbca": 17, + "branch": 24, + "class": 2, + "linearIndex": 3512, + "address": "0x0F8C565d249Ec8159A6798eF7fdF9ea83C6fce0A", + "cellId": "EI-L17-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B24-C2" + }, + { + "lpbca": 17, + "branch": 24, + "class": 3, + "linearIndex": 3513, + "address": "0xfC77A26FA2cda820CE378E2C56f0Eb885302567D", + "cellId": "EI-L17-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B24-C3" + }, + { + "lpbca": 17, + "branch": 24, + "class": 4, + "linearIndex": 3514, + "address": "0x4309B11da80A3Ca17eD270d881Dac054F58f341a", + "cellId": "EI-L17-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B24-C4" + }, + { + "lpbca": 17, + "branch": 24, + "class": 5, + "linearIndex": 3515, + "address": "0x34B947Aa0734C38D73911D0b70CfA3EEB7C30F65", + "cellId": "EI-L17-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B24-C5" + }, + { + "lpbca": 17, + "branch": 25, + "class": 0, + "linearIndex": 3516, + "address": "0x6bfb011597dF33304a151AD95c652bdaf5C663FD", + "cellId": "EI-L17-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B25-C0" + }, + { + "lpbca": 17, + "branch": 25, + "class": 1, + "linearIndex": 3517, + "address": "0xa25dEF484ef8d86FC2C7f993fa6Ba8B04b01a419", + "cellId": "EI-L17-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B25-C1" + }, + { + "lpbca": 17, + "branch": 25, + "class": 2, + "linearIndex": 3518, + "address": "0x9b85D885A6DC46287Bd7a7d6b134d5634447a6C4", + "cellId": "EI-L17-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B25-C2" + }, + { + "lpbca": 17, + "branch": 25, + "class": 3, + "linearIndex": 3519, + "address": "0x83FC707E68d3bFEe09EcB4C2cF1FF5438CD2FdB7", + "cellId": "EI-L17-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B25-C3" + }, + { + "lpbca": 17, + "branch": 25, + "class": 4, + "linearIndex": 3520, + "address": "0x655F7D46A237F982828A85d268d5B031dE402327", + "cellId": "EI-L17-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B25-C4" + }, + { + "lpbca": 17, + "branch": 25, + "class": 5, + "linearIndex": 3521, + "address": "0x8a8354b23256cD1CA431DE0753919F1d8EDe0B94", + "cellId": "EI-L17-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B25-C5" + }, + { + "lpbca": 17, + "branch": 26, + "class": 0, + "linearIndex": 3522, + "address": "0x82df8d7A0fCbF09C296bfaB44369935E5264b2a9", + "cellId": "EI-L17-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B26-C0" + }, + { + "lpbca": 17, + "branch": 26, + "class": 1, + "linearIndex": 3523, + "address": "0x836041b6fAdB5293e6da029c0154c838828272Af", + "cellId": "EI-L17-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B26-C1" + }, + { + "lpbca": 17, + "branch": 26, + "class": 2, + "linearIndex": 3524, + "address": "0xD98f7a51B61a3E1205aBB1C524168F83bbf26b42", + "cellId": "EI-L17-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B26-C2" + }, + { + "lpbca": 17, + "branch": 26, + "class": 3, + "linearIndex": 3525, + "address": "0x0069fD0aC1E9fa28D4FCDb54801235E529C20d04", + "cellId": "EI-L17-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B26-C3" + }, + { + "lpbca": 17, + "branch": 26, + "class": 4, + "linearIndex": 3526, + "address": "0x334A689b438710F0d05a75b294F1d1121FdD8816", + "cellId": "EI-L17-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B26-C4" + }, + { + "lpbca": 17, + "branch": 26, + "class": 5, + "linearIndex": 3527, + "address": "0xe7E086C6d1C6f49182331C0961425D428ffBDA60", + "cellId": "EI-L17-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B26-C5" + }, + { + "lpbca": 17, + "branch": 27, + "class": 0, + "linearIndex": 3528, + "address": "0x74BFf499a39E0F68E029e02B910572e9a4Ff6dEa", + "cellId": "EI-L17-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B27-C0" + }, + { + "lpbca": 17, + "branch": 27, + "class": 1, + "linearIndex": 3529, + "address": "0xb19968657Ec37DbD419a72d30Fb35B1baf3Bb3A0", + "cellId": "EI-L17-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B27-C1" + }, + { + "lpbca": 17, + "branch": 27, + "class": 2, + "linearIndex": 3530, + "address": "0x1D0d9a8fC37F6e85112daf350D312F4156c2b5A6", + "cellId": "EI-L17-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B27-C2" + }, + { + "lpbca": 17, + "branch": 27, + "class": 3, + "linearIndex": 3531, + "address": "0x4c6082Bf032FBa22413f70A30b0E64Cf45F70E1c", + "cellId": "EI-L17-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B27-C3" + }, + { + "lpbca": 17, + "branch": 27, + "class": 4, + "linearIndex": 3532, + "address": "0x72DEc092Ca06E1ca24E3C530AECe25dfA4c2c0Ad", + "cellId": "EI-L17-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B27-C4" + }, + { + "lpbca": 17, + "branch": 27, + "class": 5, + "linearIndex": 3533, + "address": "0x6e0aBFdB3eF142068c9345d331908964c64d914e", + "cellId": "EI-L17-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B27-C5" + }, + { + "lpbca": 17, + "branch": 28, + "class": 0, + "linearIndex": 3534, + "address": "0xF9A63dFEb034794dc44A82993db7b59Ae90a4432", + "cellId": "EI-L17-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B28-C0" + }, + { + "lpbca": 17, + "branch": 28, + "class": 1, + "linearIndex": 3535, + "address": "0x9ceD5a1Fa2Fd82b396AA8C88e6EfC0E5E69bC53D", + "cellId": "EI-L17-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B28-C1" + }, + { + "lpbca": 17, + "branch": 28, + "class": 2, + "linearIndex": 3536, + "address": "0x88a9A27f6296FA415f469827438A72641e6e7c33", + "cellId": "EI-L17-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B28-C2" + }, + { + "lpbca": 17, + "branch": 28, + "class": 3, + "linearIndex": 3537, + "address": "0xef1b250724E70054bF6c560Cd2286b3E89789F0F", + "cellId": "EI-L17-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B28-C3" + }, + { + "lpbca": 17, + "branch": 28, + "class": 4, + "linearIndex": 3538, + "address": "0x10492a689f94Fb7d732B260F316736ef6d94AE4e", + "cellId": "EI-L17-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B28-C4" + }, + { + "lpbca": 17, + "branch": 28, + "class": 5, + "linearIndex": 3539, + "address": "0x98821CeCdfddfC7C5381AF9C1964Bf2CAc66DF0B", + "cellId": "EI-L17-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B28-C5" + }, + { + "lpbca": 17, + "branch": 29, + "class": 0, + "linearIndex": 3540, + "address": "0xD667406e80B552F93cf705C6e8a19dD7783C12a1", + "cellId": "EI-L17-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B29-C0" + }, + { + "lpbca": 17, + "branch": 29, + "class": 1, + "linearIndex": 3541, + "address": "0x663C3369e69FD2f61D7070503F2D9bFD92ef6A40", + "cellId": "EI-L17-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B29-C1" + }, + { + "lpbca": 17, + "branch": 29, + "class": 2, + "linearIndex": 3542, + "address": "0xabA35Cae07896c19022D255fB77eb9460D2C7009", + "cellId": "EI-L17-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B29-C2" + }, + { + "lpbca": 17, + "branch": 29, + "class": 3, + "linearIndex": 3543, + "address": "0x30D04954547Ffa343Ea18fF03E4b740B64dC15F6", + "cellId": "EI-L17-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B29-C3" + }, + { + "lpbca": 17, + "branch": 29, + "class": 4, + "linearIndex": 3544, + "address": "0x0b7376adE4F7ef9e8423c66BC79d9dDB89B97E82", + "cellId": "EI-L17-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B29-C4" + }, + { + "lpbca": 17, + "branch": 29, + "class": 5, + "linearIndex": 3545, + "address": "0xf04ba236de972536C97459342a17F7B1D2D421B4", + "cellId": "EI-L17-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B29-C5" + }, + { + "lpbca": 17, + "branch": 30, + "class": 0, + "linearIndex": 3546, + "address": "0xb00729788744649402C9f01FfFa8F9d1419579f6", + "cellId": "EI-L17-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B30-C0" + }, + { + "lpbca": 17, + "branch": 30, + "class": 1, + "linearIndex": 3547, + "address": "0xD6B4b02AC833b0a1B969395Fb73a3050C70b6D2E", + "cellId": "EI-L17-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B30-C1" + }, + { + "lpbca": 17, + "branch": 30, + "class": 2, + "linearIndex": 3548, + "address": "0x6E4D5371c70a564f4114Ab8a47Db8725d786A87C", + "cellId": "EI-L17-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B30-C2" + }, + { + "lpbca": 17, + "branch": 30, + "class": 3, + "linearIndex": 3549, + "address": "0x6c284a270017aAb42F93FFC6405623BB6cE0e37c", + "cellId": "EI-L17-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B30-C3" + }, + { + "lpbca": 17, + "branch": 30, + "class": 4, + "linearIndex": 3550, + "address": "0x165b9A336C25dcA718902d5d651EB4c05ff6ef0b", + "cellId": "EI-L17-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B30-C4" + }, + { + "lpbca": 17, + "branch": 30, + "class": 5, + "linearIndex": 3551, + "address": "0xc1B11355B081285829369425ef1F93eDdB67B86b", + "cellId": "EI-L17-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B30-C5" + }, + { + "lpbca": 17, + "branch": 31, + "class": 0, + "linearIndex": 3552, + "address": "0x04474AaAaf91fDb189ff01CF0857184764cC04C6", + "cellId": "EI-L17-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B31-C0" + }, + { + "lpbca": 17, + "branch": 31, + "class": 1, + "linearIndex": 3553, + "address": "0xd7AF830d0D263f519d42BbbF23BFBB3f402d988c", + "cellId": "EI-L17-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B31-C1" + }, + { + "lpbca": 17, + "branch": 31, + "class": 2, + "linearIndex": 3554, + "address": "0x7efE2Cb2338D33CAA0137F68C8fD8a295Ee8A1EC", + "cellId": "EI-L17-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B31-C2" + }, + { + "lpbca": 17, + "branch": 31, + "class": 3, + "linearIndex": 3555, + "address": "0x8FEF0eBFc9dA9B1CC2a77D281405d3Eb8481772D", + "cellId": "EI-L17-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B31-C3" + }, + { + "lpbca": 17, + "branch": 31, + "class": 4, + "linearIndex": 3556, + "address": "0x3fBA0594cA90dFCb43fB6A89f84171eD82b85fC5", + "cellId": "EI-L17-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B31-C4" + }, + { + "lpbca": 17, + "branch": 31, + "class": 5, + "linearIndex": 3557, + "address": "0xd4C61fAb12aaac934c48ee46ba7579DB2B84E481", + "cellId": "EI-L17-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B31-C5" + }, + { + "lpbca": 17, + "branch": 32, + "class": 0, + "linearIndex": 3558, + "address": "0x29B7A24Bfb8EA9B6FD14F9ab71D34f8bEC4B300D", + "cellId": "EI-L17-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B32-C0" + }, + { + "lpbca": 17, + "branch": 32, + "class": 1, + "linearIndex": 3559, + "address": "0xA59749383d1C5381410a232DB2bBC9a1d9e6c99D", + "cellId": "EI-L17-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B32-C1" + }, + { + "lpbca": 17, + "branch": 32, + "class": 2, + "linearIndex": 3560, + "address": "0xc3cAB9d33254d57EcFcbc50f73eB2592848a0E57", + "cellId": "EI-L17-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B32-C2" + }, + { + "lpbca": 17, + "branch": 32, + "class": 3, + "linearIndex": 3561, + "address": "0x074D063c9743b9736Fe228F376e96F2d13Ad2a1D", + "cellId": "EI-L17-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B32-C3" + }, + { + "lpbca": 17, + "branch": 32, + "class": 4, + "linearIndex": 3562, + "address": "0x83B920C991C73899795C5B95D6DD2396dE0B590E", + "cellId": "EI-L17-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B32-C4" + }, + { + "lpbca": 17, + "branch": 32, + "class": 5, + "linearIndex": 3563, + "address": "0x34242AeA24318992c8187b5807B4E72214c84dbE", + "cellId": "EI-L17-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L17-B32-C5" + }, + { + "lpbca": 18, + "branch": 0, + "class": 0, + "linearIndex": 3564, + "address": "0xAa53f182671e48bCA6784baFd2f92bC46772C721", + "cellId": "EI-L18-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B00-C0" + }, + { + "lpbca": 18, + "branch": 0, + "class": 1, + "linearIndex": 3565, + "address": "0x6E4A24Bd3cB26C9a833989d9A8b978D5b953bE2D", + "cellId": "EI-L18-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B00-C1" + }, + { + "lpbca": 18, + "branch": 0, + "class": 2, + "linearIndex": 3566, + "address": "0x7d627A112584D5a4C099aFc58cA20a2E7a18a608", + "cellId": "EI-L18-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B00-C2" + }, + { + "lpbca": 18, + "branch": 0, + "class": 3, + "linearIndex": 3567, + "address": "0x17a7E1FDA68D9c89B4422b3F4B286BbB60Ca2ee0", + "cellId": "EI-L18-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B00-C3" + }, + { + "lpbca": 18, + "branch": 0, + "class": 4, + "linearIndex": 3568, + "address": "0x46D6d9Baa002564Dcc93ce8A82f79b407010399a", + "cellId": "EI-L18-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B00-C4" + }, + { + "lpbca": 18, + "branch": 0, + "class": 5, + "linearIndex": 3569, + "address": "0xCeda224C86cE1E536F29B93f866ca03fC6750b72", + "cellId": "EI-L18-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B00-C5" + }, + { + "lpbca": 18, + "branch": 1, + "class": 0, + "linearIndex": 3570, + "address": "0xA3b6879e66EE08029f05B692962210eff110A146", + "cellId": "EI-L18-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B01-C0" + }, + { + "lpbca": 18, + "branch": 1, + "class": 1, + "linearIndex": 3571, + "address": "0x9eAA77566DA3350c77010f40E8b9090E2f389A1B", + "cellId": "EI-L18-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B01-C1" + }, + { + "lpbca": 18, + "branch": 1, + "class": 2, + "linearIndex": 3572, + "address": "0x741e821FBd2B018E56759CfCD605DfB36c0EE19F", + "cellId": "EI-L18-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B01-C2" + }, + { + "lpbca": 18, + "branch": 1, + "class": 3, + "linearIndex": 3573, + "address": "0x274bC01796c5c496c120789E96A85B25d4d8F373", + "cellId": "EI-L18-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B01-C3" + }, + { + "lpbca": 18, + "branch": 1, + "class": 4, + "linearIndex": 3574, + "address": "0x8798e67992b90A6FFCD826A253aa335c5Ee91E83", + "cellId": "EI-L18-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B01-C4" + }, + { + "lpbca": 18, + "branch": 1, + "class": 5, + "linearIndex": 3575, + "address": "0x9bBeb988727a9195D95E586733e6B4ff96DB04cb", + "cellId": "EI-L18-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B01-C5" + }, + { + "lpbca": 18, + "branch": 2, + "class": 0, + "linearIndex": 3576, + "address": "0xe9DD0337917D4B35353C42abf3FB6e7D9dfC26E0", + "cellId": "EI-L18-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B02-C0" + }, + { + "lpbca": 18, + "branch": 2, + "class": 1, + "linearIndex": 3577, + "address": "0x9E146adCBA7cB89F55137B38CEF060533Ec4a281", + "cellId": "EI-L18-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B02-C1" + }, + { + "lpbca": 18, + "branch": 2, + "class": 2, + "linearIndex": 3578, + "address": "0x199AcF73C95e28ad20Aa57018BCb3368623123d0", + "cellId": "EI-L18-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B02-C2" + }, + { + "lpbca": 18, + "branch": 2, + "class": 3, + "linearIndex": 3579, + "address": "0x2371BA5A29e7854D14EB4EC2EFDdBF593eF22343", + "cellId": "EI-L18-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B02-C3" + }, + { + "lpbca": 18, + "branch": 2, + "class": 4, + "linearIndex": 3580, + "address": "0x526566e8c8a6afB363EAeB27E428c28a6e3B2993", + "cellId": "EI-L18-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B02-C4" + }, + { + "lpbca": 18, + "branch": 2, + "class": 5, + "linearIndex": 3581, + "address": "0x266A0ab08ac90F14Bfa7646F036f3FA348859EE7", + "cellId": "EI-L18-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B02-C5" + }, + { + "lpbca": 18, + "branch": 3, + "class": 0, + "linearIndex": 3582, + "address": "0x280e0c44146D153c8dB87969c846B6036B65Fe27", + "cellId": "EI-L18-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B03-C0" + }, + { + "lpbca": 18, + "branch": 3, + "class": 1, + "linearIndex": 3583, + "address": "0x1B9fc61d386b58E494fEfC3a7bdA784194b5C3Ef", + "cellId": "EI-L18-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B03-C1" + }, + { + "lpbca": 18, + "branch": 3, + "class": 2, + "linearIndex": 3584, + "address": "0x06234bdc9F80D0051F0c268e8D2638a130f5465B", + "cellId": "EI-L18-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B03-C2" + }, + { + "lpbca": 18, + "branch": 3, + "class": 3, + "linearIndex": 3585, + "address": "0xA79b64910dbE839d6EBec13556ca6338d74F2f0d", + "cellId": "EI-L18-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B03-C3" + }, + { + "lpbca": 18, + "branch": 3, + "class": 4, + "linearIndex": 3586, + "address": "0xf5DBbAaC65d6554dA7D582226E27414601ed84b9", + "cellId": "EI-L18-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B03-C4" + }, + { + "lpbca": 18, + "branch": 3, + "class": 5, + "linearIndex": 3587, + "address": "0x0a6fcdF99E6550bB34774dd9B8Cd7Fb7f3e4516b", + "cellId": "EI-L18-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B03-C5" + }, + { + "lpbca": 18, + "branch": 4, + "class": 0, + "linearIndex": 3588, + "address": "0x255Bb193a3B089C116bA00724170A6b427c17940", + "cellId": "EI-L18-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B04-C0" + }, + { + "lpbca": 18, + "branch": 4, + "class": 1, + "linearIndex": 3589, + "address": "0x9907eA04B4690cC1c9Cf72305955597b870E121d", + "cellId": "EI-L18-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B04-C1" + }, + { + "lpbca": 18, + "branch": 4, + "class": 2, + "linearIndex": 3590, + "address": "0xFa853900E9dC878edC61DBBD2005e93429746Fe1", + "cellId": "EI-L18-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B04-C2" + }, + { + "lpbca": 18, + "branch": 4, + "class": 3, + "linearIndex": 3591, + "address": "0x46e37a4D7e0112f97C0d616331dF43E83C71f0aa", + "cellId": "EI-L18-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B04-C3" + }, + { + "lpbca": 18, + "branch": 4, + "class": 4, + "linearIndex": 3592, + "address": "0xD6868Ebe985f08F99f5a7b5bB599cA26FcC3ea83", + "cellId": "EI-L18-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B04-C4" + }, + { + "lpbca": 18, + "branch": 4, + "class": 5, + "linearIndex": 3593, + "address": "0xe9D16b54f4Aa4c44D71273F0D32a81F9d619F120", + "cellId": "EI-L18-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B04-C5" + }, + { + "lpbca": 18, + "branch": 5, + "class": 0, + "linearIndex": 3594, + "address": "0xA25FeB57e228fcA66A1EA0A148e5B38B005f627C", + "cellId": "EI-L18-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B05-C0" + }, + { + "lpbca": 18, + "branch": 5, + "class": 1, + "linearIndex": 3595, + "address": "0xB11a263628B1f76d29E265e1d4e84C8BaDF60b7F", + "cellId": "EI-L18-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B05-C1" + }, + { + "lpbca": 18, + "branch": 5, + "class": 2, + "linearIndex": 3596, + "address": "0x565B395E2bF26BE29AAa7543a90d5e130BdCbd47", + "cellId": "EI-L18-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B05-C2" + }, + { + "lpbca": 18, + "branch": 5, + "class": 3, + "linearIndex": 3597, + "address": "0x5b94D0b706E57693Fb13D93d3C29f20CcFA56C09", + "cellId": "EI-L18-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B05-C3" + }, + { + "lpbca": 18, + "branch": 5, + "class": 4, + "linearIndex": 3598, + "address": "0x71F17c734c25690A27B5366E8830B8824FE2F1C0", + "cellId": "EI-L18-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B05-C4" + }, + { + "lpbca": 18, + "branch": 5, + "class": 5, + "linearIndex": 3599, + "address": "0x1FcE10d40CF2F229da6aac09B33aa05ED39d17fa", + "cellId": "EI-L18-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B05-C5" + }, + { + "lpbca": 18, + "branch": 6, + "class": 0, + "linearIndex": 3600, + "address": "0x425aAC31879902b39a6Ec906038e95B22ccc21D5", + "cellId": "EI-L18-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B06-C0" + }, + { + "lpbca": 18, + "branch": 6, + "class": 1, + "linearIndex": 3601, + "address": "0x1584cf558F82AFB78c12D1475b098a4842DAA054", + "cellId": "EI-L18-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B06-C1" + }, + { + "lpbca": 18, + "branch": 6, + "class": 2, + "linearIndex": 3602, + "address": "0xcBa554afA7520a11390F139F88eA5A989b59b70d", + "cellId": "EI-L18-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B06-C2" + }, + { + "lpbca": 18, + "branch": 6, + "class": 3, + "linearIndex": 3603, + "address": "0x7F7F4099412659C297aF166B80F3DDE4169c7C28", + "cellId": "EI-L18-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B06-C3" + }, + { + "lpbca": 18, + "branch": 6, + "class": 4, + "linearIndex": 3604, + "address": "0xe76b1bbbAd1f45a38D1604BB0d259Fb96E020141", + "cellId": "EI-L18-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B06-C4" + }, + { + "lpbca": 18, + "branch": 6, + "class": 5, + "linearIndex": 3605, + "address": "0x49c75a076510577f921Fb1cCdFdB031ECafd40ed", + "cellId": "EI-L18-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B06-C5" + }, + { + "lpbca": 18, + "branch": 7, + "class": 0, + "linearIndex": 3606, + "address": "0xC577FBd51BfbB16f4054AaE389d450B50cb0D9CF", + "cellId": "EI-L18-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B07-C0" + }, + { + "lpbca": 18, + "branch": 7, + "class": 1, + "linearIndex": 3607, + "address": "0xFD1557C1921895855EA6892273Db4746470fB9a0", + "cellId": "EI-L18-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B07-C1" + }, + { + "lpbca": 18, + "branch": 7, + "class": 2, + "linearIndex": 3608, + "address": "0x8b1D887177a9F109f8C1bbEfB066496588b93cFf", + "cellId": "EI-L18-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B07-C2" + }, + { + "lpbca": 18, + "branch": 7, + "class": 3, + "linearIndex": 3609, + "address": "0x42c5d5beeB698faBfD06D79f21101576E135b0F8", + "cellId": "EI-L18-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B07-C3" + }, + { + "lpbca": 18, + "branch": 7, + "class": 4, + "linearIndex": 3610, + "address": "0xcBF4B9B123d252066755dEfB11D38D17965F0519", + "cellId": "EI-L18-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B07-C4" + }, + { + "lpbca": 18, + "branch": 7, + "class": 5, + "linearIndex": 3611, + "address": "0xE54Ad0175657c69bD10041227984a17cF383b6b8", + "cellId": "EI-L18-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B07-C5" + }, + { + "lpbca": 18, + "branch": 8, + "class": 0, + "linearIndex": 3612, + "address": "0x2856f15477757f3C8FA7A18369c820Ef21739701", + "cellId": "EI-L18-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B08-C0" + }, + { + "lpbca": 18, + "branch": 8, + "class": 1, + "linearIndex": 3613, + "address": "0xE594A6982B568beEA9dB642f435a3841001c0596", + "cellId": "EI-L18-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B08-C1" + }, + { + "lpbca": 18, + "branch": 8, + "class": 2, + "linearIndex": 3614, + "address": "0xDE9b0f1538039810da6703048eC2F73dDd24F0D9", + "cellId": "EI-L18-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B08-C2" + }, + { + "lpbca": 18, + "branch": 8, + "class": 3, + "linearIndex": 3615, + "address": "0xF5c419F64F88E1f27349f7eC3b7412a8Ef6cB9b1", + "cellId": "EI-L18-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B08-C3" + }, + { + "lpbca": 18, + "branch": 8, + "class": 4, + "linearIndex": 3616, + "address": "0x8e1ad4a0803658b89311De1f0B977AA3723f5489", + "cellId": "EI-L18-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B08-C4" + }, + { + "lpbca": 18, + "branch": 8, + "class": 5, + "linearIndex": 3617, + "address": "0x6252B16459C5f9F7DF96b6FE680ef98e24880e94", + "cellId": "EI-L18-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B08-C5" + }, + { + "lpbca": 18, + "branch": 9, + "class": 0, + "linearIndex": 3618, + "address": "0xaE2C1Ce2BDF750EDfCb49CF94658D28Eb35fa620", + "cellId": "EI-L18-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B09-C0" + }, + { + "lpbca": 18, + "branch": 9, + "class": 1, + "linearIndex": 3619, + "address": "0xA73Ba853707b2C222d74E1cC47ecECB1C9DD7a7b", + "cellId": "EI-L18-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B09-C1" + }, + { + "lpbca": 18, + "branch": 9, + "class": 2, + "linearIndex": 3620, + "address": "0x8Fc9415da34732c509C89f25e5a32D3b075Ba073", + "cellId": "EI-L18-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B09-C2" + }, + { + "lpbca": 18, + "branch": 9, + "class": 3, + "linearIndex": 3621, + "address": "0xf2873f4090c27fFa7Ba0fB0C4c41B8C589B7a61B", + "cellId": "EI-L18-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B09-C3" + }, + { + "lpbca": 18, + "branch": 9, + "class": 4, + "linearIndex": 3622, + "address": "0xaA3FA2f871F48c14D5E9777Ff7D4cBb3C9D13f14", + "cellId": "EI-L18-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B09-C4" + }, + { + "lpbca": 18, + "branch": 9, + "class": 5, + "linearIndex": 3623, + "address": "0x640E8885cDca53C16665a6FaF1648b09193cE7D6", + "cellId": "EI-L18-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B09-C5" + }, + { + "lpbca": 18, + "branch": 10, + "class": 0, + "linearIndex": 3624, + "address": "0xDe4D1e091599979B3B1a6B66901eee9201c1BD5e", + "cellId": "EI-L18-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B10-C0" + }, + { + "lpbca": 18, + "branch": 10, + "class": 1, + "linearIndex": 3625, + "address": "0x2a2f3A2b99544D90CC143FF187B3e97478d1De68", + "cellId": "EI-L18-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B10-C1" + }, + { + "lpbca": 18, + "branch": 10, + "class": 2, + "linearIndex": 3626, + "address": "0x32118A3aBBff2b5eB2B2e39fFF2eFAa318ED8E98", + "cellId": "EI-L18-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B10-C2" + }, + { + "lpbca": 18, + "branch": 10, + "class": 3, + "linearIndex": 3627, + "address": "0xE0e3F7056b329A27f0A3EFb98a76aC79BD732A68", + "cellId": "EI-L18-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B10-C3" + }, + { + "lpbca": 18, + "branch": 10, + "class": 4, + "linearIndex": 3628, + "address": "0xf6166eE7f13413A85d9a97d4ABF61FB5821e6776", + "cellId": "EI-L18-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B10-C4" + }, + { + "lpbca": 18, + "branch": 10, + "class": 5, + "linearIndex": 3629, + "address": "0x4D956eb2FF3dCb581474112Dad4acedb429122f6", + "cellId": "EI-L18-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B10-C5" + }, + { + "lpbca": 18, + "branch": 11, + "class": 0, + "linearIndex": 3630, + "address": "0x58FcFc94405aC5DE5dEA81a047F044713B521f2A", + "cellId": "EI-L18-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B11-C0" + }, + { + "lpbca": 18, + "branch": 11, + "class": 1, + "linearIndex": 3631, + "address": "0x2a2f6eA91B608393ae3dDef7Ead49dE9E322eea0", + "cellId": "EI-L18-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B11-C1" + }, + { + "lpbca": 18, + "branch": 11, + "class": 2, + "linearIndex": 3632, + "address": "0xd4a4e8e4AEbfB888504a057412f5d1E78f0f78A4", + "cellId": "EI-L18-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B11-C2" + }, + { + "lpbca": 18, + "branch": 11, + "class": 3, + "linearIndex": 3633, + "address": "0x03E279F70A3E2cdA15bcaA96fccd27eFfEd92B25", + "cellId": "EI-L18-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B11-C3" + }, + { + "lpbca": 18, + "branch": 11, + "class": 4, + "linearIndex": 3634, + "address": "0x3999f0A416A3cdB037BdA9b6A48dB4cc4D580788", + "cellId": "EI-L18-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B11-C4" + }, + { + "lpbca": 18, + "branch": 11, + "class": 5, + "linearIndex": 3635, + "address": "0x1D082bA536a9a5cFce9789253928368C8C5367f0", + "cellId": "EI-L18-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B11-C5" + }, + { + "lpbca": 18, + "branch": 12, + "class": 0, + "linearIndex": 3636, + "address": "0x6C5a1C6eF4B5cDC5FA4E3cdB12565d7A0E9EB91B", + "cellId": "EI-L18-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B12-C0" + }, + { + "lpbca": 18, + "branch": 12, + "class": 1, + "linearIndex": 3637, + "address": "0x4f3DcF65D3cA3632B76456887a6E32556647B899", + "cellId": "EI-L18-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B12-C1" + }, + { + "lpbca": 18, + "branch": 12, + "class": 2, + "linearIndex": 3638, + "address": "0xD7eef0E772842A287fA09e59697bf6C4b8C140D6", + "cellId": "EI-L18-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B12-C2" + }, + { + "lpbca": 18, + "branch": 12, + "class": 3, + "linearIndex": 3639, + "address": "0xCf72fad32AF6F8b4B51539963F6F771d19911098", + "cellId": "EI-L18-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B12-C3" + }, + { + "lpbca": 18, + "branch": 12, + "class": 4, + "linearIndex": 3640, + "address": "0x086097858d499E6f6E8c643D6bdB3d063B103Ec4", + "cellId": "EI-L18-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B12-C4" + }, + { + "lpbca": 18, + "branch": 12, + "class": 5, + "linearIndex": 3641, + "address": "0xDcD4a759d974B69655f6ADB9d40e3dd9CF3717fC", + "cellId": "EI-L18-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B12-C5" + }, + { + "lpbca": 18, + "branch": 13, + "class": 0, + "linearIndex": 3642, + "address": "0xF4589802Ad87305e4997d3A2F7DdA053A479f157", + "cellId": "EI-L18-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B13-C0" + }, + { + "lpbca": 18, + "branch": 13, + "class": 1, + "linearIndex": 3643, + "address": "0x6FC020baCbe42D2bc731f9AB80FB080087ff883c", + "cellId": "EI-L18-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B13-C1" + }, + { + "lpbca": 18, + "branch": 13, + "class": 2, + "linearIndex": 3644, + "address": "0xa97d56C012e7d58D5B8CCA49FF567c5f873997af", + "cellId": "EI-L18-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B13-C2" + }, + { + "lpbca": 18, + "branch": 13, + "class": 3, + "linearIndex": 3645, + "address": "0x4010CBb1e4643c9EF7A765b6F21eCa88A15D4a2f", + "cellId": "EI-L18-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B13-C3" + }, + { + "lpbca": 18, + "branch": 13, + "class": 4, + "linearIndex": 3646, + "address": "0xE1dbAbDe56d9378895CE8539C5AA1fbE9b5Ba3E6", + "cellId": "EI-L18-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B13-C4" + }, + { + "lpbca": 18, + "branch": 13, + "class": 5, + "linearIndex": 3647, + "address": "0x15036D634119171CF5FFdbb8124B7c46ed47E375", + "cellId": "EI-L18-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B13-C5" + }, + { + "lpbca": 18, + "branch": 14, + "class": 0, + "linearIndex": 3648, + "address": "0x51ddD1201c59e31dc13d437dC6978A03f07d36bD", + "cellId": "EI-L18-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B14-C0" + }, + { + "lpbca": 18, + "branch": 14, + "class": 1, + "linearIndex": 3649, + "address": "0x05FdB7f4Ac786E1568CFF30E3B91ea085f63bA9B", + "cellId": "EI-L18-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B14-C1" + }, + { + "lpbca": 18, + "branch": 14, + "class": 2, + "linearIndex": 3650, + "address": "0xfa0e9Fa318fAef23ec541d6C59602061A97183d7", + "cellId": "EI-L18-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B14-C2" + }, + { + "lpbca": 18, + "branch": 14, + "class": 3, + "linearIndex": 3651, + "address": "0x3775fa2D3344e30cd036a851b47382467c59113c", + "cellId": "EI-L18-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B14-C3" + }, + { + "lpbca": 18, + "branch": 14, + "class": 4, + "linearIndex": 3652, + "address": "0xA9d3d423A5d092D18Bd7a7670E146eAEa1C73391", + "cellId": "EI-L18-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B14-C4" + }, + { + "lpbca": 18, + "branch": 14, + "class": 5, + "linearIndex": 3653, + "address": "0x5f1cC452D22Aa42D9c51f17721f7981Af18232e8", + "cellId": "EI-L18-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B14-C5" + }, + { + "lpbca": 18, + "branch": 15, + "class": 0, + "linearIndex": 3654, + "address": "0xF9A12B03e7f518664AE05C5Ab9eaedBf1B152587", + "cellId": "EI-L18-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B15-C0" + }, + { + "lpbca": 18, + "branch": 15, + "class": 1, + "linearIndex": 3655, + "address": "0xDA2cFBFAD08B5a520C9E37FaB6fd95697bC05323", + "cellId": "EI-L18-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B15-C1" + }, + { + "lpbca": 18, + "branch": 15, + "class": 2, + "linearIndex": 3656, + "address": "0x6bD65f872459adE4355BB3C7BaA8eB312e309fD0", + "cellId": "EI-L18-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B15-C2" + }, + { + "lpbca": 18, + "branch": 15, + "class": 3, + "linearIndex": 3657, + "address": "0x022299c0FdB1b3138d4Cb3756D1E00064B96C0D0", + "cellId": "EI-L18-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B15-C3" + }, + { + "lpbca": 18, + "branch": 15, + "class": 4, + "linearIndex": 3658, + "address": "0x930857de2884A8c8Edd9293b8cb1bde353AD3aF4", + "cellId": "EI-L18-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B15-C4" + }, + { + "lpbca": 18, + "branch": 15, + "class": 5, + "linearIndex": 3659, + "address": "0xC6ae3c4BeD3A1673594ba9AD2471ec252724158a", + "cellId": "EI-L18-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B15-C5" + }, + { + "lpbca": 18, + "branch": 16, + "class": 0, + "linearIndex": 3660, + "address": "0x7A63dE241c5F62D024F89a56F7Bfd06FDA55eDE6", + "cellId": "EI-L18-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B16-C0" + }, + { + "lpbca": 18, + "branch": 16, + "class": 1, + "linearIndex": 3661, + "address": "0x0bE68D569772454E1411Da9B0D9dd75b46808efE", + "cellId": "EI-L18-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B16-C1" + }, + { + "lpbca": 18, + "branch": 16, + "class": 2, + "linearIndex": 3662, + "address": "0x5F2335A62567645dd753a26b9FD9B41fbdb57295", + "cellId": "EI-L18-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B16-C2" + }, + { + "lpbca": 18, + "branch": 16, + "class": 3, + "linearIndex": 3663, + "address": "0x497B4f8Ad820FCaE3bbEfc60880DFF940F2D83B1", + "cellId": "EI-L18-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B16-C3" + }, + { + "lpbca": 18, + "branch": 16, + "class": 4, + "linearIndex": 3664, + "address": "0xe086784E3cC482Ce39cD83CC6C462073E1301C8e", + "cellId": "EI-L18-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B16-C4" + }, + { + "lpbca": 18, + "branch": 16, + "class": 5, + "linearIndex": 3665, + "address": "0x5A60e3b738b1511639f14165bc48EE6b720981BA", + "cellId": "EI-L18-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B16-C5" + }, + { + "lpbca": 18, + "branch": 17, + "class": 0, + "linearIndex": 3666, + "address": "0x52AD1d205BBE7C1858f57bf05C147DdcE7FD8A0D", + "cellId": "EI-L18-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B17-C0" + }, + { + "lpbca": 18, + "branch": 17, + "class": 1, + "linearIndex": 3667, + "address": "0x60ee45aa9D8FD8583d36D6E579e460f75631268d", + "cellId": "EI-L18-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B17-C1" + }, + { + "lpbca": 18, + "branch": 17, + "class": 2, + "linearIndex": 3668, + "address": "0x0656315Dd12e8ef965BD9Cb6F2e608a9FF84B6bB", + "cellId": "EI-L18-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B17-C2" + }, + { + "lpbca": 18, + "branch": 17, + "class": 3, + "linearIndex": 3669, + "address": "0xA23CC7b2Af0a11859Cf3AB1528603D136C62a099", + "cellId": "EI-L18-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B17-C3" + }, + { + "lpbca": 18, + "branch": 17, + "class": 4, + "linearIndex": 3670, + "address": "0xadE7e60778feEB02f7D6F7752A8A313830e66B3d", + "cellId": "EI-L18-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B17-C4" + }, + { + "lpbca": 18, + "branch": 17, + "class": 5, + "linearIndex": 3671, + "address": "0x2F4D547a075dD08F1D743A3A49a35f1878Eb98Fb", + "cellId": "EI-L18-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B17-C5" + }, + { + "lpbca": 18, + "branch": 18, + "class": 0, + "linearIndex": 3672, + "address": "0xf3a80F00b86E8b7f7AD6cBC7ea2D265e2bFF2ad7", + "cellId": "EI-L18-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B18-C0" + }, + { + "lpbca": 18, + "branch": 18, + "class": 1, + "linearIndex": 3673, + "address": "0x247E5d423604571c2589470610d530C83CD71A39", + "cellId": "EI-L18-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B18-C1" + }, + { + "lpbca": 18, + "branch": 18, + "class": 2, + "linearIndex": 3674, + "address": "0x55c38eF573716bE476B3566fE9c53Adaa491fAFe", + "cellId": "EI-L18-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B18-C2" + }, + { + "lpbca": 18, + "branch": 18, + "class": 3, + "linearIndex": 3675, + "address": "0xF521B2158ba3a76E04e4dD8c9EfFb16D90F92749", + "cellId": "EI-L18-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B18-C3" + }, + { + "lpbca": 18, + "branch": 18, + "class": 4, + "linearIndex": 3676, + "address": "0xAa7B6Fa2E0efBE84A6a9B6B6f8Bb34bA0Bcc408C", + "cellId": "EI-L18-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B18-C4" + }, + { + "lpbca": 18, + "branch": 18, + "class": 5, + "linearIndex": 3677, + "address": "0x9C3A25c924717b82Fb2faFc44ae682365E5c5B9d", + "cellId": "EI-L18-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B18-C5" + }, + { + "lpbca": 18, + "branch": 19, + "class": 0, + "linearIndex": 3678, + "address": "0xCb1B8712CD256d4e22a54c345a664fE67346247b", + "cellId": "EI-L18-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B19-C0" + }, + { + "lpbca": 18, + "branch": 19, + "class": 1, + "linearIndex": 3679, + "address": "0xfe87987d98e3Fc67d02b74108b32D380931a15Ab", + "cellId": "EI-L18-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B19-C1" + }, + { + "lpbca": 18, + "branch": 19, + "class": 2, + "linearIndex": 3680, + "address": "0xF4A7AE1dAA0619a750b91afcF893702Bb08B098B", + "cellId": "EI-L18-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B19-C2" + }, + { + "lpbca": 18, + "branch": 19, + "class": 3, + "linearIndex": 3681, + "address": "0x3A2e9b813c55dCDCed3Ababd4C585E68e9a53c23", + "cellId": "EI-L18-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B19-C3" + }, + { + "lpbca": 18, + "branch": 19, + "class": 4, + "linearIndex": 3682, + "address": "0x9d1f6fEa6239a96C694eEFa09e46c3dd10fD35d4", + "cellId": "EI-L18-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B19-C4" + }, + { + "lpbca": 18, + "branch": 19, + "class": 5, + "linearIndex": 3683, + "address": "0x8c384CA413D2237600B6E9E17f43d9d185Ed6ABd", + "cellId": "EI-L18-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B19-C5" + }, + { + "lpbca": 18, + "branch": 20, + "class": 0, + "linearIndex": 3684, + "address": "0x51cD37C2671c3402C171e3d5c209e75feF8D7086", + "cellId": "EI-L18-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B20-C0" + }, + { + "lpbca": 18, + "branch": 20, + "class": 1, + "linearIndex": 3685, + "address": "0x0B2190ecDB27B0156ed0084C9117000D550789ff", + "cellId": "EI-L18-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B20-C1" + }, + { + "lpbca": 18, + "branch": 20, + "class": 2, + "linearIndex": 3686, + "address": "0xa0C8b6CF31Bfe32577f9b75a8F9511c61a4DB306", + "cellId": "EI-L18-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B20-C2" + }, + { + "lpbca": 18, + "branch": 20, + "class": 3, + "linearIndex": 3687, + "address": "0x5Fe48Ea00CD9eC9859bFCf4a17c74ef4262271e6", + "cellId": "EI-L18-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B20-C3" + }, + { + "lpbca": 18, + "branch": 20, + "class": 4, + "linearIndex": 3688, + "address": "0x16187dC92deE4bbb7B1607983DAd033Ac9201477", + "cellId": "EI-L18-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B20-C4" + }, + { + "lpbca": 18, + "branch": 20, + "class": 5, + "linearIndex": 3689, + "address": "0x332D52e07322C5BFA4EDc8fC950C595c712110c9", + "cellId": "EI-L18-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B20-C5" + }, + { + "lpbca": 18, + "branch": 21, + "class": 0, + "linearIndex": 3690, + "address": "0x083777394e8F4674c1af89E9798E1aeE3aE94146", + "cellId": "EI-L18-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B21-C0" + }, + { + "lpbca": 18, + "branch": 21, + "class": 1, + "linearIndex": 3691, + "address": "0x7F29131B2F1bBcaE5c3aD841b13eAc9d31Fd1Fe0", + "cellId": "EI-L18-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B21-C1" + }, + { + "lpbca": 18, + "branch": 21, + "class": 2, + "linearIndex": 3692, + "address": "0x6615fC3fd262Ccb507713942eA08107aF8fc1d40", + "cellId": "EI-L18-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B21-C2" + }, + { + "lpbca": 18, + "branch": 21, + "class": 3, + "linearIndex": 3693, + "address": "0x0dd1Cd45B1Ca56f8F6408fAE63094f35d76060c3", + "cellId": "EI-L18-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B21-C3" + }, + { + "lpbca": 18, + "branch": 21, + "class": 4, + "linearIndex": 3694, + "address": "0x1305718FC7321f11e8f8d2391215454A01F26397", + "cellId": "EI-L18-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B21-C4" + }, + { + "lpbca": 18, + "branch": 21, + "class": 5, + "linearIndex": 3695, + "address": "0x64BA332Ded6927d62B07209A3Ee5377C33B42901", + "cellId": "EI-L18-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B21-C5" + }, + { + "lpbca": 18, + "branch": 22, + "class": 0, + "linearIndex": 3696, + "address": "0xc653AA580Ef5586379B1c2CAAEd907101825Ab96", + "cellId": "EI-L18-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B22-C0" + }, + { + "lpbca": 18, + "branch": 22, + "class": 1, + "linearIndex": 3697, + "address": "0x8E3A07D97Da547Cf78c70B6405a9941C4C9e2CA1", + "cellId": "EI-L18-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B22-C1" + }, + { + "lpbca": 18, + "branch": 22, + "class": 2, + "linearIndex": 3698, + "address": "0xCF639Ab25F3D021f049A390f02c5B46CFCDCE986", + "cellId": "EI-L18-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B22-C2" + }, + { + "lpbca": 18, + "branch": 22, + "class": 3, + "linearIndex": 3699, + "address": "0xF324B5BAEA45af93B84AA894c722b6862b200A14", + "cellId": "EI-L18-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B22-C3" + }, + { + "lpbca": 18, + "branch": 22, + "class": 4, + "linearIndex": 3700, + "address": "0xB3bC9eAe4cF6Ff09180Ca2748E8D0B31a47d7625", + "cellId": "EI-L18-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B22-C4" + }, + { + "lpbca": 18, + "branch": 22, + "class": 5, + "linearIndex": 3701, + "address": "0x3099BC0E35F0f3C4591fCdDE59CaBB9Bc95710F9", + "cellId": "EI-L18-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B22-C5" + }, + { + "lpbca": 18, + "branch": 23, + "class": 0, + "linearIndex": 3702, + "address": "0xdFbDB40aD910b3eC9356A8189Eb684809CE0AaE6", + "cellId": "EI-L18-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B23-C0" + }, + { + "lpbca": 18, + "branch": 23, + "class": 1, + "linearIndex": 3703, + "address": "0x853Dd43Ac07A02e867448Dada01f5238F7c57Dfb", + "cellId": "EI-L18-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B23-C1" + }, + { + "lpbca": 18, + "branch": 23, + "class": 2, + "linearIndex": 3704, + "address": "0xf8D8A7fE54Dd2FfC8f8376a391fbfbE4670e4327", + "cellId": "EI-L18-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B23-C2" + }, + { + "lpbca": 18, + "branch": 23, + "class": 3, + "linearIndex": 3705, + "address": "0x1ea751B3EddD7C7c913122CFdD426aB2dAe7395b", + "cellId": "EI-L18-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B23-C3" + }, + { + "lpbca": 18, + "branch": 23, + "class": 4, + "linearIndex": 3706, + "address": "0xb2FA56b92745Fac3A026fbc6e5D87a481C6C81d9", + "cellId": "EI-L18-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B23-C4" + }, + { + "lpbca": 18, + "branch": 23, + "class": 5, + "linearIndex": 3707, + "address": "0x8F44c7F65fC14D06770df4629f1ccE57Dcb6c10d", + "cellId": "EI-L18-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B23-C5" + }, + { + "lpbca": 18, + "branch": 24, + "class": 0, + "linearIndex": 3708, + "address": "0x8B05e65aB51e46b8d018f14dF63FC9d3536F15d1", + "cellId": "EI-L18-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B24-C0" + }, + { + "lpbca": 18, + "branch": 24, + "class": 1, + "linearIndex": 3709, + "address": "0xE7fc2E6B89cB750ED0E6DF2d43f0E8507A974C52", + "cellId": "EI-L18-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B24-C1" + }, + { + "lpbca": 18, + "branch": 24, + "class": 2, + "linearIndex": 3710, + "address": "0x4D85bCEE78997EB3FD8954787BE224383C87E423", + "cellId": "EI-L18-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B24-C2" + }, + { + "lpbca": 18, + "branch": 24, + "class": 3, + "linearIndex": 3711, + "address": "0x8a10d2Cd452628de84bEbe496cE11cc3a32C3331", + "cellId": "EI-L18-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B24-C3" + }, + { + "lpbca": 18, + "branch": 24, + "class": 4, + "linearIndex": 3712, + "address": "0x441B3764D0fd1E7E83aBb49a642386564Ef2e08b", + "cellId": "EI-L18-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B24-C4" + }, + { + "lpbca": 18, + "branch": 24, + "class": 5, + "linearIndex": 3713, + "address": "0x29C9cb428B8BE9744edcb4BFa208775A3F8D42B2", + "cellId": "EI-L18-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B24-C5" + }, + { + "lpbca": 18, + "branch": 25, + "class": 0, + "linearIndex": 3714, + "address": "0x9e39d09F92451054d2FebF1e27d533B0A2A0239a", + "cellId": "EI-L18-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B25-C0" + }, + { + "lpbca": 18, + "branch": 25, + "class": 1, + "linearIndex": 3715, + "address": "0x49408d90A54D4E7681c70A6f56b036f245272234", + "cellId": "EI-L18-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B25-C1" + }, + { + "lpbca": 18, + "branch": 25, + "class": 2, + "linearIndex": 3716, + "address": "0x28BEa02C9d17511a396Bf22F27D5BE85CFe1bBf9", + "cellId": "EI-L18-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B25-C2" + }, + { + "lpbca": 18, + "branch": 25, + "class": 3, + "linearIndex": 3717, + "address": "0x63e7E35811ea852b413E97B89998922eB6570d73", + "cellId": "EI-L18-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B25-C3" + }, + { + "lpbca": 18, + "branch": 25, + "class": 4, + "linearIndex": 3718, + "address": "0x6E374248B934077cFCD18202D3648e530122864B", + "cellId": "EI-L18-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B25-C4" + }, + { + "lpbca": 18, + "branch": 25, + "class": 5, + "linearIndex": 3719, + "address": "0xd728b3a8bE1c44674259F2c715B3B9523a0fd51b", + "cellId": "EI-L18-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B25-C5" + }, + { + "lpbca": 18, + "branch": 26, + "class": 0, + "linearIndex": 3720, + "address": "0x2b84Cc4F0615254D44B2da9c71bBA0353A0761EA", + "cellId": "EI-L18-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B26-C0" + }, + { + "lpbca": 18, + "branch": 26, + "class": 1, + "linearIndex": 3721, + "address": "0x98E33E9EaCb74512Ec5bAA61bE6F2d2f7967C814", + "cellId": "EI-L18-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B26-C1" + }, + { + "lpbca": 18, + "branch": 26, + "class": 2, + "linearIndex": 3722, + "address": "0x08F1EA4aD666113AE767e0B64bE5891d04B32536", + "cellId": "EI-L18-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B26-C2" + }, + { + "lpbca": 18, + "branch": 26, + "class": 3, + "linearIndex": 3723, + "address": "0x2502Ba24c5A7A6FEF9be0b0Ee428001171f8A1b5", + "cellId": "EI-L18-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B26-C3" + }, + { + "lpbca": 18, + "branch": 26, + "class": 4, + "linearIndex": 3724, + "address": "0x475f890e15B0ce5EB2C30407002dd553529301FA", + "cellId": "EI-L18-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B26-C4" + }, + { + "lpbca": 18, + "branch": 26, + "class": 5, + "linearIndex": 3725, + "address": "0x5acbda849fdc2fd66d4BE4Cda9Df58e28660EaFA", + "cellId": "EI-L18-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B26-C5" + }, + { + "lpbca": 18, + "branch": 27, + "class": 0, + "linearIndex": 3726, + "address": "0x5C8A07A93b7fF7E4685b835146fEf298d86B43E5", + "cellId": "EI-L18-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B27-C0" + }, + { + "lpbca": 18, + "branch": 27, + "class": 1, + "linearIndex": 3727, + "address": "0x47DbcbfAb7F1414FF1608f95475f8130809553FD", + "cellId": "EI-L18-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B27-C1" + }, + { + "lpbca": 18, + "branch": 27, + "class": 2, + "linearIndex": 3728, + "address": "0xeeE91D2232cb378BbD708684b9Da5D9D36712016", + "cellId": "EI-L18-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B27-C2" + }, + { + "lpbca": 18, + "branch": 27, + "class": 3, + "linearIndex": 3729, + "address": "0x59A46b51DeaA26E496D61005D83C2f51D4b525C3", + "cellId": "EI-L18-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B27-C3" + }, + { + "lpbca": 18, + "branch": 27, + "class": 4, + "linearIndex": 3730, + "address": "0x9eA9c4ee4195fBe1EA00f0F68a9da194255E060A", + "cellId": "EI-L18-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B27-C4" + }, + { + "lpbca": 18, + "branch": 27, + "class": 5, + "linearIndex": 3731, + "address": "0x2F910611e7aBe600c4b04E1736d2F94201eDc416", + "cellId": "EI-L18-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B27-C5" + }, + { + "lpbca": 18, + "branch": 28, + "class": 0, + "linearIndex": 3732, + "address": "0x3333DE31E5712F2772fA9Bb0374C9f029a5fc0F9", + "cellId": "EI-L18-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B28-C0" + }, + { + "lpbca": 18, + "branch": 28, + "class": 1, + "linearIndex": 3733, + "address": "0xA127e1694e6D4617318be6d3Af02c45047576A3a", + "cellId": "EI-L18-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B28-C1" + }, + { + "lpbca": 18, + "branch": 28, + "class": 2, + "linearIndex": 3734, + "address": "0x26793eb112259d56DCa0fE46CAc6D6cb40334B8d", + "cellId": "EI-L18-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B28-C2" + }, + { + "lpbca": 18, + "branch": 28, + "class": 3, + "linearIndex": 3735, + "address": "0x360D9d8513EDb690eE7F73086aEe80ceE914D926", + "cellId": "EI-L18-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B28-C3" + }, + { + "lpbca": 18, + "branch": 28, + "class": 4, + "linearIndex": 3736, + "address": "0x6122f6161f77d115F810Cac5c39a790ecbE5F6D5", + "cellId": "EI-L18-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B28-C4" + }, + { + "lpbca": 18, + "branch": 28, + "class": 5, + "linearIndex": 3737, + "address": "0x1e737C11215b7691544f9819e00FF0B0b6482F2d", + "cellId": "EI-L18-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B28-C5" + }, + { + "lpbca": 18, + "branch": 29, + "class": 0, + "linearIndex": 3738, + "address": "0x60B6C01D5085d9757b32646DB9FA74C7826ce688", + "cellId": "EI-L18-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B29-C0" + }, + { + "lpbca": 18, + "branch": 29, + "class": 1, + "linearIndex": 3739, + "address": "0x1F54F13c9f2A837be897DEC820a79ea65F6bc0C7", + "cellId": "EI-L18-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B29-C1" + }, + { + "lpbca": 18, + "branch": 29, + "class": 2, + "linearIndex": 3740, + "address": "0xb73076a2964410856BBb7280Bf6234AE817e6495", + "cellId": "EI-L18-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B29-C2" + }, + { + "lpbca": 18, + "branch": 29, + "class": 3, + "linearIndex": 3741, + "address": "0x3884BcE438e187646076E8de47938c729eb32c45", + "cellId": "EI-L18-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B29-C3" + }, + { + "lpbca": 18, + "branch": 29, + "class": 4, + "linearIndex": 3742, + "address": "0x8Ee72d05E376F7a995327372464dD6ac778C63eC", + "cellId": "EI-L18-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B29-C4" + }, + { + "lpbca": 18, + "branch": 29, + "class": 5, + "linearIndex": 3743, + "address": "0x5aAC9Bd84B78765b1856F8Fb2bF14FcfeB0e78f5", + "cellId": "EI-L18-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B29-C5" + }, + { + "lpbca": 18, + "branch": 30, + "class": 0, + "linearIndex": 3744, + "address": "0x608B73E2aaA1713606Ff1B06CB011f076853048D", + "cellId": "EI-L18-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B30-C0" + }, + { + "lpbca": 18, + "branch": 30, + "class": 1, + "linearIndex": 3745, + "address": "0x82717788aad65d4282Cec25C88A50b8105754f16", + "cellId": "EI-L18-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B30-C1" + }, + { + "lpbca": 18, + "branch": 30, + "class": 2, + "linearIndex": 3746, + "address": "0x220C039293024CF2269A14CccADfCE89Fe2Dbc76", + "cellId": "EI-L18-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B30-C2" + }, + { + "lpbca": 18, + "branch": 30, + "class": 3, + "linearIndex": 3747, + "address": "0xFCE0E29d4B9F847D3aEff9260a651a41f748B5fA", + "cellId": "EI-L18-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B30-C3" + }, + { + "lpbca": 18, + "branch": 30, + "class": 4, + "linearIndex": 3748, + "address": "0x0bAd9C48b39fDeb9bffC16b3Be19d31e7C1c94F8", + "cellId": "EI-L18-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B30-C4" + }, + { + "lpbca": 18, + "branch": 30, + "class": 5, + "linearIndex": 3749, + "address": "0xbfb2eA14b915cF2CC446Ec22B6497105EAC45603", + "cellId": "EI-L18-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B30-C5" + }, + { + "lpbca": 18, + "branch": 31, + "class": 0, + "linearIndex": 3750, + "address": "0xcf87Df96870B3Bfc5E335AbC0827Fe4bEEE76F79", + "cellId": "EI-L18-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B31-C0" + }, + { + "lpbca": 18, + "branch": 31, + "class": 1, + "linearIndex": 3751, + "address": "0x6Da27003596979950a499506c4007a878e93eDB0", + "cellId": "EI-L18-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B31-C1" + }, + { + "lpbca": 18, + "branch": 31, + "class": 2, + "linearIndex": 3752, + "address": "0x4575bEe02cf94C35169585de279Fc9279571eD82", + "cellId": "EI-L18-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B31-C2" + }, + { + "lpbca": 18, + "branch": 31, + "class": 3, + "linearIndex": 3753, + "address": "0xb72F8539Cfdfa732615480F62c11F318A3a0dd31", + "cellId": "EI-L18-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B31-C3" + }, + { + "lpbca": 18, + "branch": 31, + "class": 4, + "linearIndex": 3754, + "address": "0xa65a50A7B4224A46436caA6748393Ca8307D9Ba1", + "cellId": "EI-L18-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B31-C4" + }, + { + "lpbca": 18, + "branch": 31, + "class": 5, + "linearIndex": 3755, + "address": "0x4309C0cAC639B796d75a4D8D02e6DB03908D9054", + "cellId": "EI-L18-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B31-C5" + }, + { + "lpbca": 18, + "branch": 32, + "class": 0, + "linearIndex": 3756, + "address": "0xDF76C7e1712A2ea8E4F5e1Da5Ec9E96386e7A1A1", + "cellId": "EI-L18-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B32-C0" + }, + { + "lpbca": 18, + "branch": 32, + "class": 1, + "linearIndex": 3757, + "address": "0xeB341a92823CC07185e9DFc7882e6D0B328b6233", + "cellId": "EI-L18-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B32-C1" + }, + { + "lpbca": 18, + "branch": 32, + "class": 2, + "linearIndex": 3758, + "address": "0xa9b8d80aD613a09560BfE556E25Df0646bbd018A", + "cellId": "EI-L18-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B32-C2" + }, + { + "lpbca": 18, + "branch": 32, + "class": 3, + "linearIndex": 3759, + "address": "0x1Ac4AAFCd3595E5b7C675b57514c3E897B4777ca", + "cellId": "EI-L18-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B32-C3" + }, + { + "lpbca": 18, + "branch": 32, + "class": 4, + "linearIndex": 3760, + "address": "0xCBf2c4b13551F9690132f3E8dd5844136505d567", + "cellId": "EI-L18-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B32-C4" + }, + { + "lpbca": 18, + "branch": 32, + "class": 5, + "linearIndex": 3761, + "address": "0xC5D8d0CBB94B08A4A331c3230a765C232F5e9c24", + "cellId": "EI-L18-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L18-B32-C5" + }, + { + "lpbca": 19, + "branch": 0, + "class": 0, + "linearIndex": 3762, + "address": "0xD7b0f649B9eCeb7BfD59d3a4396Ab8E7fc81853C", + "cellId": "EI-L19-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B00-C0" + }, + { + "lpbca": 19, + "branch": 0, + "class": 1, + "linearIndex": 3763, + "address": "0xB84Db250c0709Ee6515f13999e9550362aD7Cb50", + "cellId": "EI-L19-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B00-C1" + }, + { + "lpbca": 19, + "branch": 0, + "class": 2, + "linearIndex": 3764, + "address": "0x19898a0BF8927A34c9fc90DFcfFc7E34fB55802b", + "cellId": "EI-L19-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B00-C2" + }, + { + "lpbca": 19, + "branch": 0, + "class": 3, + "linearIndex": 3765, + "address": "0x28872cc3516780256f263C2cCdCd93eDfaeCA2C1", + "cellId": "EI-L19-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B00-C3" + }, + { + "lpbca": 19, + "branch": 0, + "class": 4, + "linearIndex": 3766, + "address": "0xf6D15f55903c0C579736e2046F42d4a7774C3f12", + "cellId": "EI-L19-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B00-C4" + }, + { + "lpbca": 19, + "branch": 0, + "class": 5, + "linearIndex": 3767, + "address": "0xEcDbf0C3b3c2b29933FAb7f946E41ba861077fd8", + "cellId": "EI-L19-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B00-C5" + }, + { + "lpbca": 19, + "branch": 1, + "class": 0, + "linearIndex": 3768, + "address": "0xc2A0949e358C74f8A39B45D694D1d9bE524E7537", + "cellId": "EI-L19-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B01-C0" + }, + { + "lpbca": 19, + "branch": 1, + "class": 1, + "linearIndex": 3769, + "address": "0x31dC459a7eb7634b702e0FA80Adc13Bb0533395b", + "cellId": "EI-L19-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B01-C1" + }, + { + "lpbca": 19, + "branch": 1, + "class": 2, + "linearIndex": 3770, + "address": "0xAC902C27FD1b8952f043996d766410df42b533d1", + "cellId": "EI-L19-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B01-C2" + }, + { + "lpbca": 19, + "branch": 1, + "class": 3, + "linearIndex": 3771, + "address": "0x196180bf9460B6b2034464a59316BEDd56fF8E0b", + "cellId": "EI-L19-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B01-C3" + }, + { + "lpbca": 19, + "branch": 1, + "class": 4, + "linearIndex": 3772, + "address": "0xdd68EDF718F970985b77B68b56b0CF88e87584c0", + "cellId": "EI-L19-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B01-C4" + }, + { + "lpbca": 19, + "branch": 1, + "class": 5, + "linearIndex": 3773, + "address": "0x8Ec3BF83ffF9C1c3DC72D9e7eB1140C574fb144F", + "cellId": "EI-L19-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B01-C5" + }, + { + "lpbca": 19, + "branch": 2, + "class": 0, + "linearIndex": 3774, + "address": "0xb613380E7F4B4f18892498371DFa5Cc8b0CfE981", + "cellId": "EI-L19-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B02-C0" + }, + { + "lpbca": 19, + "branch": 2, + "class": 1, + "linearIndex": 3775, + "address": "0xdCef9470d916Bf61626688313b943e1578c8d009", + "cellId": "EI-L19-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B02-C1" + }, + { + "lpbca": 19, + "branch": 2, + "class": 2, + "linearIndex": 3776, + "address": "0x966D8bf2FF7b409A52dd3C2f4d5b7FB8255595a8", + "cellId": "EI-L19-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B02-C2" + }, + { + "lpbca": 19, + "branch": 2, + "class": 3, + "linearIndex": 3777, + "address": "0x36d60D22Cef62Ef8169F115dDC2ACEC6f24c0511", + "cellId": "EI-L19-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B02-C3" + }, + { + "lpbca": 19, + "branch": 2, + "class": 4, + "linearIndex": 3778, + "address": "0xbA52B1cFFBDE584B78582Cc585E5595160DD0697", + "cellId": "EI-L19-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B02-C4" + }, + { + "lpbca": 19, + "branch": 2, + "class": 5, + "linearIndex": 3779, + "address": "0x1D9B6B925364f7Da809a8e13f36832F1973eDB78", + "cellId": "EI-L19-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B02-C5" + }, + { + "lpbca": 19, + "branch": 3, + "class": 0, + "linearIndex": 3780, + "address": "0x5f9f132bc835374F4Edf83Aa1e0db24D4aAA09F1", + "cellId": "EI-L19-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B03-C0" + }, + { + "lpbca": 19, + "branch": 3, + "class": 1, + "linearIndex": 3781, + "address": "0x0c86c03D276e64De15472B1fFF6658E452b02121", + "cellId": "EI-L19-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B03-C1" + }, + { + "lpbca": 19, + "branch": 3, + "class": 2, + "linearIndex": 3782, + "address": "0x9068F480f5ab93bFEF0201c5dA6B7a49942cC398", + "cellId": "EI-L19-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B03-C2" + }, + { + "lpbca": 19, + "branch": 3, + "class": 3, + "linearIndex": 3783, + "address": "0xDe5B3a212e8e0d6f61F75F977E9171811C86eC40", + "cellId": "EI-L19-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B03-C3" + }, + { + "lpbca": 19, + "branch": 3, + "class": 4, + "linearIndex": 3784, + "address": "0xa5c3ac5b79372A36E92edD9d821b32971FD729c3", + "cellId": "EI-L19-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B03-C4" + }, + { + "lpbca": 19, + "branch": 3, + "class": 5, + "linearIndex": 3785, + "address": "0x200AD5cbDCa19b131d6aB9E8dF216EfBF9F61a60", + "cellId": "EI-L19-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B03-C5" + }, + { + "lpbca": 19, + "branch": 4, + "class": 0, + "linearIndex": 3786, + "address": "0xe0D54fcAdD44d09349aB41f04cEe6Ffb77cE542b", + "cellId": "EI-L19-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B04-C0" + }, + { + "lpbca": 19, + "branch": 4, + "class": 1, + "linearIndex": 3787, + "address": "0xE783849bb3306F85e295B207348D584087Cf1A4D", + "cellId": "EI-L19-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B04-C1" + }, + { + "lpbca": 19, + "branch": 4, + "class": 2, + "linearIndex": 3788, + "address": "0x7165fa74D7C0A80F1188A3E935A17c0b655eD0E9", + "cellId": "EI-L19-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B04-C2" + }, + { + "lpbca": 19, + "branch": 4, + "class": 3, + "linearIndex": 3789, + "address": "0x1C891c8E080755e10AeAa0F55685a72039d9B500", + "cellId": "EI-L19-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B04-C3" + }, + { + "lpbca": 19, + "branch": 4, + "class": 4, + "linearIndex": 3790, + "address": "0x79428f19017b4260125CcC3bE7F76eb85Bb64169", + "cellId": "EI-L19-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B04-C4" + }, + { + "lpbca": 19, + "branch": 4, + "class": 5, + "linearIndex": 3791, + "address": "0x3b4084E6Bb39Ce1e7E353b7ef137EA68B486476C", + "cellId": "EI-L19-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B04-C5" + }, + { + "lpbca": 19, + "branch": 5, + "class": 0, + "linearIndex": 3792, + "address": "0x63534B1c5873FD375d2c99963F6983e591B12EA1", + "cellId": "EI-L19-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B05-C0" + }, + { + "lpbca": 19, + "branch": 5, + "class": 1, + "linearIndex": 3793, + "address": "0x41473DBE74093Fc0054146e1bbd0b6a1F0786a0a", + "cellId": "EI-L19-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B05-C1" + }, + { + "lpbca": 19, + "branch": 5, + "class": 2, + "linearIndex": 3794, + "address": "0xd17bC43265f221cA5f0C890A97B6dEb222D44631", + "cellId": "EI-L19-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B05-C2" + }, + { + "lpbca": 19, + "branch": 5, + "class": 3, + "linearIndex": 3795, + "address": "0x8213798036e482E1028e942147d7F8eE8fDE1f31", + "cellId": "EI-L19-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B05-C3" + }, + { + "lpbca": 19, + "branch": 5, + "class": 4, + "linearIndex": 3796, + "address": "0x17fB76Ee7846028Aa69ED4d5726334716E9Cd9A9", + "cellId": "EI-L19-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B05-C4" + }, + { + "lpbca": 19, + "branch": 5, + "class": 5, + "linearIndex": 3797, + "address": "0x56dB716D0C6d04BFC2bFee5E5C827B2C4B2CAe34", + "cellId": "EI-L19-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B05-C5" + }, + { + "lpbca": 19, + "branch": 6, + "class": 0, + "linearIndex": 3798, + "address": "0x2cA5cD3Fb1757C3c06ddEE8a36261A1854951B78", + "cellId": "EI-L19-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B06-C0" + }, + { + "lpbca": 19, + "branch": 6, + "class": 1, + "linearIndex": 3799, + "address": "0xE3f1bF1829D34c56feddD5588B85D5665B4eF843", + "cellId": "EI-L19-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B06-C1" + }, + { + "lpbca": 19, + "branch": 6, + "class": 2, + "linearIndex": 3800, + "address": "0x9E64024e46979d9E4cE8e6fcFCFF1cbAF898E512", + "cellId": "EI-L19-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B06-C2" + }, + { + "lpbca": 19, + "branch": 6, + "class": 3, + "linearIndex": 3801, + "address": "0x38baCe65F215A05F8280c3f5EC027FccCbDB433b", + "cellId": "EI-L19-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B06-C3" + }, + { + "lpbca": 19, + "branch": 6, + "class": 4, + "linearIndex": 3802, + "address": "0xECbbD41D0b93cc999A06E4A4A4cF152b01c2a518", + "cellId": "EI-L19-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B06-C4" + }, + { + "lpbca": 19, + "branch": 6, + "class": 5, + "linearIndex": 3803, + "address": "0xa0170cB96464Bd33d593F171b6612633A7737516", + "cellId": "EI-L19-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B06-C5" + }, + { + "lpbca": 19, + "branch": 7, + "class": 0, + "linearIndex": 3804, + "address": "0xdfF7067615D6c51dF29aE7D413B68B37c903107B", + "cellId": "EI-L19-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B07-C0" + }, + { + "lpbca": 19, + "branch": 7, + "class": 1, + "linearIndex": 3805, + "address": "0x96CCAaF0C0766CE545b3F2054D2CF91c24dF5b28", + "cellId": "EI-L19-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B07-C1" + }, + { + "lpbca": 19, + "branch": 7, + "class": 2, + "linearIndex": 3806, + "address": "0x08E678044bC576e3800e6E85eE863431D8eFb29e", + "cellId": "EI-L19-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B07-C2" + }, + { + "lpbca": 19, + "branch": 7, + "class": 3, + "linearIndex": 3807, + "address": "0xF0494095E3F9069f15B82cff475fb70e3a4Fd04e", + "cellId": "EI-L19-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B07-C3" + }, + { + "lpbca": 19, + "branch": 7, + "class": 4, + "linearIndex": 3808, + "address": "0x63f0eFf97778B46Eaa3Acffda7b2904691ba4E4a", + "cellId": "EI-L19-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B07-C4" + }, + { + "lpbca": 19, + "branch": 7, + "class": 5, + "linearIndex": 3809, + "address": "0x00Fd3407D5e924EE6F2cb92d585b38AA8de9f514", + "cellId": "EI-L19-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B07-C5" + }, + { + "lpbca": 19, + "branch": 8, + "class": 0, + "linearIndex": 3810, + "address": "0x8060925BF145e20d2484f68164a58E621EE06F0f", + "cellId": "EI-L19-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B08-C0" + }, + { + "lpbca": 19, + "branch": 8, + "class": 1, + "linearIndex": 3811, + "address": "0x17A0316aC3d9e430AB18b0ae762Dc3033DEB6990", + "cellId": "EI-L19-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B08-C1" + }, + { + "lpbca": 19, + "branch": 8, + "class": 2, + "linearIndex": 3812, + "address": "0x7B616FE164F3bF4755327eA51b67C3D10ff6Ec56", + "cellId": "EI-L19-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B08-C2" + }, + { + "lpbca": 19, + "branch": 8, + "class": 3, + "linearIndex": 3813, + "address": "0x95A036E6b9eF00bB62B85C4A0Cf9EF1cEE353fce", + "cellId": "EI-L19-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B08-C3" + }, + { + "lpbca": 19, + "branch": 8, + "class": 4, + "linearIndex": 3814, + "address": "0x1155901B29d58bA36b772206E37e35937b572B01", + "cellId": "EI-L19-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B08-C4" + }, + { + "lpbca": 19, + "branch": 8, + "class": 5, + "linearIndex": 3815, + "address": "0xF5e85eC5D10BD54679B169649a08CD563696d345", + "cellId": "EI-L19-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B08-C5" + }, + { + "lpbca": 19, + "branch": 9, + "class": 0, + "linearIndex": 3816, + "address": "0xC4838AEB778ea542bC74D491524C9825F849074f", + "cellId": "EI-L19-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B09-C0" + }, + { + "lpbca": 19, + "branch": 9, + "class": 1, + "linearIndex": 3817, + "address": "0x53eE3a705b18F69123c479cf361b2A80162eF9aC", + "cellId": "EI-L19-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B09-C1" + }, + { + "lpbca": 19, + "branch": 9, + "class": 2, + "linearIndex": 3818, + "address": "0x125B02f3E4591753A69e2b0835Fc8701beC6fe76", + "cellId": "EI-L19-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B09-C2" + }, + { + "lpbca": 19, + "branch": 9, + "class": 3, + "linearIndex": 3819, + "address": "0x46217C353aD085ba71e0F6a46E823469a95629AA", + "cellId": "EI-L19-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B09-C3" + }, + { + "lpbca": 19, + "branch": 9, + "class": 4, + "linearIndex": 3820, + "address": "0xcd7f08a84EF72b4356fDbB63Efd057951fa375aA", + "cellId": "EI-L19-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B09-C4" + }, + { + "lpbca": 19, + "branch": 9, + "class": 5, + "linearIndex": 3821, + "address": "0x0D3ab5C1300cF14CdD492Ff7B5A74493891ba694", + "cellId": "EI-L19-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B09-C5" + }, + { + "lpbca": 19, + "branch": 10, + "class": 0, + "linearIndex": 3822, + "address": "0x7b84d8a65544aB07E76c6dD90CA9da30B7C7C9cD", + "cellId": "EI-L19-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B10-C0" + }, + { + "lpbca": 19, + "branch": 10, + "class": 1, + "linearIndex": 3823, + "address": "0x1374FAD0619035a87736AABf48dEa8F6013d3c73", + "cellId": "EI-L19-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B10-C1" + }, + { + "lpbca": 19, + "branch": 10, + "class": 2, + "linearIndex": 3824, + "address": "0x35f635F467089909B2D9b82105fEE358fED477Ca", + "cellId": "EI-L19-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B10-C2" + }, + { + "lpbca": 19, + "branch": 10, + "class": 3, + "linearIndex": 3825, + "address": "0xF5709a6e6bAa8F071B8420515459ebFD46c5Cf22", + "cellId": "EI-L19-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B10-C3" + }, + { + "lpbca": 19, + "branch": 10, + "class": 4, + "linearIndex": 3826, + "address": "0x01Ad74a437B89Df99bFc4eA8aD15541A0E247d93", + "cellId": "EI-L19-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B10-C4" + }, + { + "lpbca": 19, + "branch": 10, + "class": 5, + "linearIndex": 3827, + "address": "0x4D00E498FCD8F0ac553fBd7fF0676E217CDe105d", + "cellId": "EI-L19-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B10-C5" + }, + { + "lpbca": 19, + "branch": 11, + "class": 0, + "linearIndex": 3828, + "address": "0xf439c425d99776F2ea12Fa3393E69193BA80CB8d", + "cellId": "EI-L19-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B11-C0" + }, + { + "lpbca": 19, + "branch": 11, + "class": 1, + "linearIndex": 3829, + "address": "0xBE3feA24068766D6E493404BA88D4BFd1cF10F76", + "cellId": "EI-L19-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B11-C1" + }, + { + "lpbca": 19, + "branch": 11, + "class": 2, + "linearIndex": 3830, + "address": "0x39F1331654B27dd66C110E794409b215128A8e58", + "cellId": "EI-L19-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B11-C2" + }, + { + "lpbca": 19, + "branch": 11, + "class": 3, + "linearIndex": 3831, + "address": "0xfCa13F527234c8c459f53e134a2Cc31Ee5B603a3", + "cellId": "EI-L19-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B11-C3" + }, + { + "lpbca": 19, + "branch": 11, + "class": 4, + "linearIndex": 3832, + "address": "0x5D09db012803efb62945724faA2A1E94173d276A", + "cellId": "EI-L19-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B11-C4" + }, + { + "lpbca": 19, + "branch": 11, + "class": 5, + "linearIndex": 3833, + "address": "0xb20D94853236834db19301be0555Dc7736B52C3c", + "cellId": "EI-L19-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B11-C5" + }, + { + "lpbca": 19, + "branch": 12, + "class": 0, + "linearIndex": 3834, + "address": "0x0787D8da41BBD22E52aE43667270460C9C6690b8", + "cellId": "EI-L19-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B12-C0" + }, + { + "lpbca": 19, + "branch": 12, + "class": 1, + "linearIndex": 3835, + "address": "0xAA069Adee15443134887f880f60098E5B2846f42", + "cellId": "EI-L19-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B12-C1" + }, + { + "lpbca": 19, + "branch": 12, + "class": 2, + "linearIndex": 3836, + "address": "0x95a56B3Ea0508bB2abc112A1D5F15D5310D18DD1", + "cellId": "EI-L19-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B12-C2" + }, + { + "lpbca": 19, + "branch": 12, + "class": 3, + "linearIndex": 3837, + "address": "0xF5F9C4ca8FD71Bb623580329ba6ae177bb0fe27C", + "cellId": "EI-L19-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B12-C3" + }, + { + "lpbca": 19, + "branch": 12, + "class": 4, + "linearIndex": 3838, + "address": "0x02181f5bAA60381fF9d966368EBCDe5162999A4c", + "cellId": "EI-L19-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B12-C4" + }, + { + "lpbca": 19, + "branch": 12, + "class": 5, + "linearIndex": 3839, + "address": "0xce794b45C24180250D075CF3E084D4eB1B0451cB", + "cellId": "EI-L19-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B12-C5" + }, + { + "lpbca": 19, + "branch": 13, + "class": 0, + "linearIndex": 3840, + "address": "0x4B459f86661C1740e62181E3bA177629F819bE6D", + "cellId": "EI-L19-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B13-C0" + }, + { + "lpbca": 19, + "branch": 13, + "class": 1, + "linearIndex": 3841, + "address": "0x023f3b06Db56C9471383627D30711ADd09e245a7", + "cellId": "EI-L19-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B13-C1" + }, + { + "lpbca": 19, + "branch": 13, + "class": 2, + "linearIndex": 3842, + "address": "0xAB9f2776F767B55c1C65d998E759C8052e482216", + "cellId": "EI-L19-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B13-C2" + }, + { + "lpbca": 19, + "branch": 13, + "class": 3, + "linearIndex": 3843, + "address": "0xB62D3656b50a5EccBCA7C6DEf7b4475d5c048B46", + "cellId": "EI-L19-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B13-C3" + }, + { + "lpbca": 19, + "branch": 13, + "class": 4, + "linearIndex": 3844, + "address": "0x3B103f513Fc940c6812340441B2C708Daa4cdE7d", + "cellId": "EI-L19-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B13-C4" + }, + { + "lpbca": 19, + "branch": 13, + "class": 5, + "linearIndex": 3845, + "address": "0xc72d4bB47faeEe4ca197Fa0EE5b2353007120Dd2", + "cellId": "EI-L19-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B13-C5" + }, + { + "lpbca": 19, + "branch": 14, + "class": 0, + "linearIndex": 3846, + "address": "0xC0a3B1E403c1892C4a7127355e53dF6FDE7f506c", + "cellId": "EI-L19-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B14-C0" + }, + { + "lpbca": 19, + "branch": 14, + "class": 1, + "linearIndex": 3847, + "address": "0xee7c3D5b83AbAB0a221108d4c33B0c585Dd939b6", + "cellId": "EI-L19-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B14-C1" + }, + { + "lpbca": 19, + "branch": 14, + "class": 2, + "linearIndex": 3848, + "address": "0xe7D8C95B091EC33bD509BD56f9f7A0D1F6981FF0", + "cellId": "EI-L19-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B14-C2" + }, + { + "lpbca": 19, + "branch": 14, + "class": 3, + "linearIndex": 3849, + "address": "0x599Bd35905710acF6f16F7fd4aEaA75D67B571Fd", + "cellId": "EI-L19-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B14-C3" + }, + { + "lpbca": 19, + "branch": 14, + "class": 4, + "linearIndex": 3850, + "address": "0x957a26C0aF2A051baAdD3d52226BA54EF8C777E0", + "cellId": "EI-L19-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B14-C4" + }, + { + "lpbca": 19, + "branch": 14, + "class": 5, + "linearIndex": 3851, + "address": "0xC32761452D4E371664aDead71Ef4FcA44E5b362a", + "cellId": "EI-L19-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B14-C5" + }, + { + "lpbca": 19, + "branch": 15, + "class": 0, + "linearIndex": 3852, + "address": "0x2D4aDdBC9E23ecCd23dE36F3a8B082CbB9B59244", + "cellId": "EI-L19-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B15-C0" + }, + { + "lpbca": 19, + "branch": 15, + "class": 1, + "linearIndex": 3853, + "address": "0xd6F196c3CeA8C3F59C0D12818A93112F3a7306E8", + "cellId": "EI-L19-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B15-C1" + }, + { + "lpbca": 19, + "branch": 15, + "class": 2, + "linearIndex": 3854, + "address": "0x4B3c5de9F470Eb301b6Ab3F48E82Ab930C5c820b", + "cellId": "EI-L19-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B15-C2" + }, + { + "lpbca": 19, + "branch": 15, + "class": 3, + "linearIndex": 3855, + "address": "0xc8b7c8fF8E898B8Bf7fBbaE4eC7E15797d0A3Ee5", + "cellId": "EI-L19-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B15-C3" + }, + { + "lpbca": 19, + "branch": 15, + "class": 4, + "linearIndex": 3856, + "address": "0x812987DEfEc1266b70bdF7b1281A169C4cB0cb42", + "cellId": "EI-L19-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B15-C4" + }, + { + "lpbca": 19, + "branch": 15, + "class": 5, + "linearIndex": 3857, + "address": "0x69855648B2F4Ef3DC974Bd34709c262f6F311576", + "cellId": "EI-L19-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B15-C5" + }, + { + "lpbca": 19, + "branch": 16, + "class": 0, + "linearIndex": 3858, + "address": "0x602B42A3d3621b1A1C283eF4046378D35dB19F6B", + "cellId": "EI-L19-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B16-C0" + }, + { + "lpbca": 19, + "branch": 16, + "class": 1, + "linearIndex": 3859, + "address": "0x215FC9A80244059e60dCa8780543599bC3ECB1b7", + "cellId": "EI-L19-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B16-C1" + }, + { + "lpbca": 19, + "branch": 16, + "class": 2, + "linearIndex": 3860, + "address": "0x76c947b40178FFC3957bb892ED6FFd052c77e9ef", + "cellId": "EI-L19-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B16-C2" + }, + { + "lpbca": 19, + "branch": 16, + "class": 3, + "linearIndex": 3861, + "address": "0x5d2f99Af41655BbA52C8Df15dAdA5103D26a1f62", + "cellId": "EI-L19-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B16-C3" + }, + { + "lpbca": 19, + "branch": 16, + "class": 4, + "linearIndex": 3862, + "address": "0x0cCEBd478d5E9E7F28B0Ce5105282E54599f637d", + "cellId": "EI-L19-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B16-C4" + }, + { + "lpbca": 19, + "branch": 16, + "class": 5, + "linearIndex": 3863, + "address": "0x9551827C329bd2110F98e0ea36411e720A1bFa70", + "cellId": "EI-L19-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B16-C5" + }, + { + "lpbca": 19, + "branch": 17, + "class": 0, + "linearIndex": 3864, + "address": "0xF5d97307636cc833eaBeC9AF639C38463356462A", + "cellId": "EI-L19-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B17-C0" + }, + { + "lpbca": 19, + "branch": 17, + "class": 1, + "linearIndex": 3865, + "address": "0x541a55428E3d0124540964d3dD888350f0Fa2495", + "cellId": "EI-L19-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B17-C1" + }, + { + "lpbca": 19, + "branch": 17, + "class": 2, + "linearIndex": 3866, + "address": "0x8b699d00BBBD154a213b5ed19Aa61C3b52309316", + "cellId": "EI-L19-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B17-C2" + }, + { + "lpbca": 19, + "branch": 17, + "class": 3, + "linearIndex": 3867, + "address": "0xE885fda3D6D31A031b9bC33cb91fC3A20dE27e7B", + "cellId": "EI-L19-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B17-C3" + }, + { + "lpbca": 19, + "branch": 17, + "class": 4, + "linearIndex": 3868, + "address": "0x65917c6Ee9Ee690879879860ad433AE9e9422690", + "cellId": "EI-L19-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B17-C4" + }, + { + "lpbca": 19, + "branch": 17, + "class": 5, + "linearIndex": 3869, + "address": "0x92Ae057F41d502Cb0a4C61D488a915d205e06547", + "cellId": "EI-L19-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B17-C5" + }, + { + "lpbca": 19, + "branch": 18, + "class": 0, + "linearIndex": 3870, + "address": "0x96D24f761124009AB8142D2C9483034d076f2437", + "cellId": "EI-L19-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B18-C0" + }, + { + "lpbca": 19, + "branch": 18, + "class": 1, + "linearIndex": 3871, + "address": "0xd7fAaA52769399d8383f64432a2f861d98B09A29", + "cellId": "EI-L19-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B18-C1" + }, + { + "lpbca": 19, + "branch": 18, + "class": 2, + "linearIndex": 3872, + "address": "0xD89b706516AC14f028bCbE02b6Ad1013F85F5b9c", + "cellId": "EI-L19-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B18-C2" + }, + { + "lpbca": 19, + "branch": 18, + "class": 3, + "linearIndex": 3873, + "address": "0x5039a44997644512998DF236D93A42E02beB074B", + "cellId": "EI-L19-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B18-C3" + }, + { + "lpbca": 19, + "branch": 18, + "class": 4, + "linearIndex": 3874, + "address": "0x28b1F3E9c7A7025e35C8708232e0E8a44BD401a5", + "cellId": "EI-L19-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B18-C4" + }, + { + "lpbca": 19, + "branch": 18, + "class": 5, + "linearIndex": 3875, + "address": "0xb9105b0eC1b43A9e13C2f996C6dE691EcB5E0642", + "cellId": "EI-L19-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B18-C5" + }, + { + "lpbca": 19, + "branch": 19, + "class": 0, + "linearIndex": 3876, + "address": "0x8028E59A1b2C1Aa5E919088882B6CAB57B8fCDB5", + "cellId": "EI-L19-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B19-C0" + }, + { + "lpbca": 19, + "branch": 19, + "class": 1, + "linearIndex": 3877, + "address": "0x3157D9AD2207B3D6ec6C91Ec35e526AE7faEF79D", + "cellId": "EI-L19-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B19-C1" + }, + { + "lpbca": 19, + "branch": 19, + "class": 2, + "linearIndex": 3878, + "address": "0xf8E5Cd3DC20BE0172eD57D78697A53B4D5303244", + "cellId": "EI-L19-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B19-C2" + }, + { + "lpbca": 19, + "branch": 19, + "class": 3, + "linearIndex": 3879, + "address": "0x9c480be79159AfC5E9b5cd0C93626B8a0EE13049", + "cellId": "EI-L19-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B19-C3" + }, + { + "lpbca": 19, + "branch": 19, + "class": 4, + "linearIndex": 3880, + "address": "0x047F2E088Ce31C32DEA65da3151AA397f461077a", + "cellId": "EI-L19-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B19-C4" + }, + { + "lpbca": 19, + "branch": 19, + "class": 5, + "linearIndex": 3881, + "address": "0x8d09De3053b8B860BBA2E54badEC928DD3BfC822", + "cellId": "EI-L19-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B19-C5" + }, + { + "lpbca": 19, + "branch": 20, + "class": 0, + "linearIndex": 3882, + "address": "0x6709868e5Ef4eb9B4d8469eA3Fc95d1a6DC8f4b7", + "cellId": "EI-L19-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B20-C0" + }, + { + "lpbca": 19, + "branch": 20, + "class": 1, + "linearIndex": 3883, + "address": "0xC413CA50dca2Ece015Ed11c67C717102A84905fF", + "cellId": "EI-L19-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B20-C1" + }, + { + "lpbca": 19, + "branch": 20, + "class": 2, + "linearIndex": 3884, + "address": "0x31628E9D85e6D4059dfA593085A6A1bc5134f0FF", + "cellId": "EI-L19-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B20-C2" + }, + { + "lpbca": 19, + "branch": 20, + "class": 3, + "linearIndex": 3885, + "address": "0xB7F67ca3b6c8F6c061206a9cAAFD56E81E18eB4F", + "cellId": "EI-L19-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B20-C3" + }, + { + "lpbca": 19, + "branch": 20, + "class": 4, + "linearIndex": 3886, + "address": "0x827c15C7C8E37f23d5C568563C94be757001fe4b", + "cellId": "EI-L19-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B20-C4" + }, + { + "lpbca": 19, + "branch": 20, + "class": 5, + "linearIndex": 3887, + "address": "0x66d2A2cEae649bE7273523A9f6BFAFB88a645463", + "cellId": "EI-L19-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B20-C5" + }, + { + "lpbca": 19, + "branch": 21, + "class": 0, + "linearIndex": 3888, + "address": "0x62497F0a63c9BaABD9452474bd80965f4cf3bEbc", + "cellId": "EI-L19-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B21-C0" + }, + { + "lpbca": 19, + "branch": 21, + "class": 1, + "linearIndex": 3889, + "address": "0xA2Cb6aF392EDC6993272f34D6A7894af1c33832e", + "cellId": "EI-L19-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B21-C1" + }, + { + "lpbca": 19, + "branch": 21, + "class": 2, + "linearIndex": 3890, + "address": "0x29436Ab2b5373C7CF8110903D30dAe241dff99C1", + "cellId": "EI-L19-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B21-C2" + }, + { + "lpbca": 19, + "branch": 21, + "class": 3, + "linearIndex": 3891, + "address": "0x2679aF8bd294E0E28c8B6d17570f65e6Bd954C1C", + "cellId": "EI-L19-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B21-C3" + }, + { + "lpbca": 19, + "branch": 21, + "class": 4, + "linearIndex": 3892, + "address": "0xfCEcFd09dC4404C8E64A90998dF18Ed3F55E49cc", + "cellId": "EI-L19-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B21-C4" + }, + { + "lpbca": 19, + "branch": 21, + "class": 5, + "linearIndex": 3893, + "address": "0x8ADcd38D4AA379019f0f2AaC46FAC7AA620F542F", + "cellId": "EI-L19-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B21-C5" + }, + { + "lpbca": 19, + "branch": 22, + "class": 0, + "linearIndex": 3894, + "address": "0x5d2aB2A96BCdC14A966edd3429AE8152c256862B", + "cellId": "EI-L19-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B22-C0" + }, + { + "lpbca": 19, + "branch": 22, + "class": 1, + "linearIndex": 3895, + "address": "0xcc1138fbA1a8621BF2ae5115B19f2217CF4AEa0b", + "cellId": "EI-L19-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B22-C1" + }, + { + "lpbca": 19, + "branch": 22, + "class": 2, + "linearIndex": 3896, + "address": "0xc3B2F9Fe31B482835016de6955FF9Ed5C6140ECc", + "cellId": "EI-L19-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B22-C2" + }, + { + "lpbca": 19, + "branch": 22, + "class": 3, + "linearIndex": 3897, + "address": "0x05e8f398F40bf184D7593c265bA9823eE60957aA", + "cellId": "EI-L19-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B22-C3" + }, + { + "lpbca": 19, + "branch": 22, + "class": 4, + "linearIndex": 3898, + "address": "0x869812c0B11784Dd7cd114E058AD0523Cb3362AF", + "cellId": "EI-L19-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B22-C4" + }, + { + "lpbca": 19, + "branch": 22, + "class": 5, + "linearIndex": 3899, + "address": "0x86B61643C7CE35b19da107524f6a0320e500935A", + "cellId": "EI-L19-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B22-C5" + }, + { + "lpbca": 19, + "branch": 23, + "class": 0, + "linearIndex": 3900, + "address": "0xe5844186d0f8D7f85b255BF1B33923739bccad2B", + "cellId": "EI-L19-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B23-C0" + }, + { + "lpbca": 19, + "branch": 23, + "class": 1, + "linearIndex": 3901, + "address": "0xeeFEb661ea2F430F9aAFc2C870bB5080c20DeDFB", + "cellId": "EI-L19-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B23-C1" + }, + { + "lpbca": 19, + "branch": 23, + "class": 2, + "linearIndex": 3902, + "address": "0xa084C44fa433012Ae1De1113A0cd4e2fD5Ac1604", + "cellId": "EI-L19-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B23-C2" + }, + { + "lpbca": 19, + "branch": 23, + "class": 3, + "linearIndex": 3903, + "address": "0x4934e67F03C15221AcB6a3F61D65A9e31e397D1A", + "cellId": "EI-L19-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B23-C3" + }, + { + "lpbca": 19, + "branch": 23, + "class": 4, + "linearIndex": 3904, + "address": "0xc4eDE0037d65a1513419DDA4c274CDC8832d9392", + "cellId": "EI-L19-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B23-C4" + }, + { + "lpbca": 19, + "branch": 23, + "class": 5, + "linearIndex": 3905, + "address": "0x1AB7014E4f0D2A159b9F07EF69E95b12c4e22aCE", + "cellId": "EI-L19-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B23-C5" + }, + { + "lpbca": 19, + "branch": 24, + "class": 0, + "linearIndex": 3906, + "address": "0x5b25D02400B1063Af1c59ac9c02B837Add5ef0F6", + "cellId": "EI-L19-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B24-C0" + }, + { + "lpbca": 19, + "branch": 24, + "class": 1, + "linearIndex": 3907, + "address": "0x727810E9AffbbF4DBf688c2b130Ce4E785c25397", + "cellId": "EI-L19-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B24-C1" + }, + { + "lpbca": 19, + "branch": 24, + "class": 2, + "linearIndex": 3908, + "address": "0x8047ec5078243Be20a8E3c7185489B2de027B413", + "cellId": "EI-L19-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B24-C2" + }, + { + "lpbca": 19, + "branch": 24, + "class": 3, + "linearIndex": 3909, + "address": "0x29Ca7c96920030B7b7da909edE45EEFeC87778a1", + "cellId": "EI-L19-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B24-C3" + }, + { + "lpbca": 19, + "branch": 24, + "class": 4, + "linearIndex": 3910, + "address": "0x5486760C4bB75E939A66009CD094421752153422", + "cellId": "EI-L19-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B24-C4" + }, + { + "lpbca": 19, + "branch": 24, + "class": 5, + "linearIndex": 3911, + "address": "0x3cCEe984cDF7af97EbF176ceA708017fA44f1346", + "cellId": "EI-L19-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B24-C5" + }, + { + "lpbca": 19, + "branch": 25, + "class": 0, + "linearIndex": 3912, + "address": "0xE222Fae15DAA075675264374926466DbE0280695", + "cellId": "EI-L19-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B25-C0" + }, + { + "lpbca": 19, + "branch": 25, + "class": 1, + "linearIndex": 3913, + "address": "0xD92e4414A39923F74cE49D52194A1a0a3a31e8ae", + "cellId": "EI-L19-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B25-C1" + }, + { + "lpbca": 19, + "branch": 25, + "class": 2, + "linearIndex": 3914, + "address": "0x4C6a1609DD64c39034FeC27d1C6C40e3652e4435", + "cellId": "EI-L19-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B25-C2" + }, + { + "lpbca": 19, + "branch": 25, + "class": 3, + "linearIndex": 3915, + "address": "0x6AE586F9D49bE976DCA5c21e7E133A1e0498982E", + "cellId": "EI-L19-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B25-C3" + }, + { + "lpbca": 19, + "branch": 25, + "class": 4, + "linearIndex": 3916, + "address": "0xB9C31D29a81139215cd54Dd0243c610966fb833b", + "cellId": "EI-L19-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B25-C4" + }, + { + "lpbca": 19, + "branch": 25, + "class": 5, + "linearIndex": 3917, + "address": "0xBE65E0978D010C5c15B0A701A95AD84B7CE17757", + "cellId": "EI-L19-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B25-C5" + }, + { + "lpbca": 19, + "branch": 26, + "class": 0, + "linearIndex": 3918, + "address": "0x7C9150562b0d792cC8D3a8af49248Cc6044E2c91", + "cellId": "EI-L19-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B26-C0" + }, + { + "lpbca": 19, + "branch": 26, + "class": 1, + "linearIndex": 3919, + "address": "0x1863f967d840B5D7c578Ff1181376C309638f347", + "cellId": "EI-L19-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B26-C1" + }, + { + "lpbca": 19, + "branch": 26, + "class": 2, + "linearIndex": 3920, + "address": "0x0D7586a47212b0bf65d88843418f44fF418cA7da", + "cellId": "EI-L19-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B26-C2" + }, + { + "lpbca": 19, + "branch": 26, + "class": 3, + "linearIndex": 3921, + "address": "0x6A6049e507E4F0320867Ed851c7AbdbF349624B0", + "cellId": "EI-L19-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B26-C3" + }, + { + "lpbca": 19, + "branch": 26, + "class": 4, + "linearIndex": 3922, + "address": "0xf7A4B0A2F0b6F0d6884699662CdF9dB1fB88bB9D", + "cellId": "EI-L19-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B26-C4" + }, + { + "lpbca": 19, + "branch": 26, + "class": 5, + "linearIndex": 3923, + "address": "0x10530bca9F513c3FD61bD9ac357d599Caf90552E", + "cellId": "EI-L19-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B26-C5" + }, + { + "lpbca": 19, + "branch": 27, + "class": 0, + "linearIndex": 3924, + "address": "0x958cD4704F3C4DDC1fbCfDBF6a26479367180e75", + "cellId": "EI-L19-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B27-C0" + }, + { + "lpbca": 19, + "branch": 27, + "class": 1, + "linearIndex": 3925, + "address": "0xBa69aEE6198363475AeeC36b0eb4d115d04C701e", + "cellId": "EI-L19-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B27-C1" + }, + { + "lpbca": 19, + "branch": 27, + "class": 2, + "linearIndex": 3926, + "address": "0xa112D4ECF87d48966FD04dA8878e56ee8168Bc09", + "cellId": "EI-L19-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B27-C2" + }, + { + "lpbca": 19, + "branch": 27, + "class": 3, + "linearIndex": 3927, + "address": "0xe760167e46a4c6A7dAD1b4732F9bF5a8bf381c98", + "cellId": "EI-L19-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B27-C3" + }, + { + "lpbca": 19, + "branch": 27, + "class": 4, + "linearIndex": 3928, + "address": "0x0d0ec344624b336AAa1Ac7a39ec13d1D505673aA", + "cellId": "EI-L19-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B27-C4" + }, + { + "lpbca": 19, + "branch": 27, + "class": 5, + "linearIndex": 3929, + "address": "0x73dD3CF98A783C7820717De4d4A7B02bd2280ff1", + "cellId": "EI-L19-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B27-C5" + }, + { + "lpbca": 19, + "branch": 28, + "class": 0, + "linearIndex": 3930, + "address": "0xB8D6702e8F184418780E7ada36DF196dB6be8CD9", + "cellId": "EI-L19-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B28-C0" + }, + { + "lpbca": 19, + "branch": 28, + "class": 1, + "linearIndex": 3931, + "address": "0xD38288B83Af20e8919fB3071B0D82B7faBfFC957", + "cellId": "EI-L19-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B28-C1" + }, + { + "lpbca": 19, + "branch": 28, + "class": 2, + "linearIndex": 3932, + "address": "0xdE964006cAe6D00a417a030199940B98791e2668", + "cellId": "EI-L19-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B28-C2" + }, + { + "lpbca": 19, + "branch": 28, + "class": 3, + "linearIndex": 3933, + "address": "0x6331C52C1312eF79BF6b63D4eCFDbeA82fa646D5", + "cellId": "EI-L19-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B28-C3" + }, + { + "lpbca": 19, + "branch": 28, + "class": 4, + "linearIndex": 3934, + "address": "0x9b4295337837Cb31E00fbF17c7F6806346ba9a29", + "cellId": "EI-L19-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B28-C4" + }, + { + "lpbca": 19, + "branch": 28, + "class": 5, + "linearIndex": 3935, + "address": "0x604c72235C27fFc85d0039c861B78938f1DAC79b", + "cellId": "EI-L19-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B28-C5" + }, + { + "lpbca": 19, + "branch": 29, + "class": 0, + "linearIndex": 3936, + "address": "0x166cc841069b1aAA680C74cC8d5d06d9A5693D37", + "cellId": "EI-L19-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B29-C0" + }, + { + "lpbca": 19, + "branch": 29, + "class": 1, + "linearIndex": 3937, + "address": "0xA966a828B6E1bd39Ac5f72380ECD9F5D5a72C74C", + "cellId": "EI-L19-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B29-C1" + }, + { + "lpbca": 19, + "branch": 29, + "class": 2, + "linearIndex": 3938, + "address": "0xC0007f9EAca7a97F64662F9Ab7394aBe8250ebE5", + "cellId": "EI-L19-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B29-C2" + }, + { + "lpbca": 19, + "branch": 29, + "class": 3, + "linearIndex": 3939, + "address": "0xB45304490feBd7E35be80Af51475D98F69cF0c1b", + "cellId": "EI-L19-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B29-C3" + }, + { + "lpbca": 19, + "branch": 29, + "class": 4, + "linearIndex": 3940, + "address": "0xF85a08388a8a0eAA096E6aCF0BCf9Be460dB2601", + "cellId": "EI-L19-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B29-C4" + }, + { + "lpbca": 19, + "branch": 29, + "class": 5, + "linearIndex": 3941, + "address": "0xE387142b187A4734E5473c9BaEd2822bF38c64E4", + "cellId": "EI-L19-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B29-C5" + }, + { + "lpbca": 19, + "branch": 30, + "class": 0, + "linearIndex": 3942, + "address": "0xacc8f7c9123F6aB35ED6D83360B9BC24202c1944", + "cellId": "EI-L19-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B30-C0" + }, + { + "lpbca": 19, + "branch": 30, + "class": 1, + "linearIndex": 3943, + "address": "0x7782992Fe88F153675F5c8922A8d6ba724700610", + "cellId": "EI-L19-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B30-C1" + }, + { + "lpbca": 19, + "branch": 30, + "class": 2, + "linearIndex": 3944, + "address": "0x4874254A6969C0a18c5aE0eFa2c1B9e8d366C645", + "cellId": "EI-L19-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B30-C2" + }, + { + "lpbca": 19, + "branch": 30, + "class": 3, + "linearIndex": 3945, + "address": "0x0361634F1a803F6805550e1f64C397275032CcAA", + "cellId": "EI-L19-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B30-C3" + }, + { + "lpbca": 19, + "branch": 30, + "class": 4, + "linearIndex": 3946, + "address": "0x0F36419F45C9AAdF99051bFB21a682563C095bDF", + "cellId": "EI-L19-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B30-C4" + }, + { + "lpbca": 19, + "branch": 30, + "class": 5, + "linearIndex": 3947, + "address": "0x2029aAaCd0a9464a9c7A443621a3fF1C263A5F28", + "cellId": "EI-L19-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B30-C5" + }, + { + "lpbca": 19, + "branch": 31, + "class": 0, + "linearIndex": 3948, + "address": "0xEDD0396Fbbe1a86d37b07D2dAd78125A459b606E", + "cellId": "EI-L19-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B31-C0" + }, + { + "lpbca": 19, + "branch": 31, + "class": 1, + "linearIndex": 3949, + "address": "0x88b9DB38AF5b8DeB10741b311bd74906572c2870", + "cellId": "EI-L19-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B31-C1" + }, + { + "lpbca": 19, + "branch": 31, + "class": 2, + "linearIndex": 3950, + "address": "0xFaB0D1bd64551798C21e78928E2B579a774D3263", + "cellId": "EI-L19-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B31-C2" + }, + { + "lpbca": 19, + "branch": 31, + "class": 3, + "linearIndex": 3951, + "address": "0xC35a793a112523CBa2320Ec8bf96b87761b4eBda", + "cellId": "EI-L19-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B31-C3" + }, + { + "lpbca": 19, + "branch": 31, + "class": 4, + "linearIndex": 3952, + "address": "0xd62D338027C00347BDB44216d2f1603E037d0Fc1", + "cellId": "EI-L19-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B31-C4" + }, + { + "lpbca": 19, + "branch": 31, + "class": 5, + "linearIndex": 3953, + "address": "0x9dE871cb965341802EA3DD072Da2e15481F955A7", + "cellId": "EI-L19-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B31-C5" + }, + { + "lpbca": 19, + "branch": 32, + "class": 0, + "linearIndex": 3954, + "address": "0x689Eb9f375f373138ae377D1A578f6a99a3c2f40", + "cellId": "EI-L19-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B32-C0" + }, + { + "lpbca": 19, + "branch": 32, + "class": 1, + "linearIndex": 3955, + "address": "0x5fd895E2d7362F7E7703887B035f7a8E640DBfC7", + "cellId": "EI-L19-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B32-C1" + }, + { + "lpbca": 19, + "branch": 32, + "class": 2, + "linearIndex": 3956, + "address": "0x3578717F107Efe737788F1cbB99F43B2c8126aAD", + "cellId": "EI-L19-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B32-C2" + }, + { + "lpbca": 19, + "branch": 32, + "class": 3, + "linearIndex": 3957, + "address": "0x522cfeF43Ed925684F035fD189cb5a5A397ee725", + "cellId": "EI-L19-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B32-C3" + }, + { + "lpbca": 19, + "branch": 32, + "class": 4, + "linearIndex": 3958, + "address": "0x916eeD17bB67CA71F0aB1B87B7a6E7B52cFfdC4B", + "cellId": "EI-L19-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B32-C4" + }, + { + "lpbca": 19, + "branch": 32, + "class": 5, + "linearIndex": 3959, + "address": "0x1e54908B75De544d323F89bBe0dD68D7E96fE6BC", + "cellId": "EI-L19-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L19-B32-C5" + }, + { + "lpbca": 20, + "branch": 0, + "class": 0, + "linearIndex": 3960, + "address": "0xDC849e2E695441A4Dc40310569F6DA0fC25212C7", + "cellId": "EI-L20-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B00-C0" + }, + { + "lpbca": 20, + "branch": 0, + "class": 1, + "linearIndex": 3961, + "address": "0xBCE2D0F24e16eD42737a91dd2097D133B519085f", + "cellId": "EI-L20-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B00-C1" + }, + { + "lpbca": 20, + "branch": 0, + "class": 2, + "linearIndex": 3962, + "address": "0x5CF104187410587006b39852a2EE7e34a6Bfb2e0", + "cellId": "EI-L20-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B00-C2" + }, + { + "lpbca": 20, + "branch": 0, + "class": 3, + "linearIndex": 3963, + "address": "0xF8cC0b6FC0EFeB0F3458A354306e9b527e0bC03a", + "cellId": "EI-L20-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B00-C3" + }, + { + "lpbca": 20, + "branch": 0, + "class": 4, + "linearIndex": 3964, + "address": "0x24c7B49BEF0843d73563F676108415DDfB2748FE", + "cellId": "EI-L20-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B00-C4" + }, + { + "lpbca": 20, + "branch": 0, + "class": 5, + "linearIndex": 3965, + "address": "0x64e88f377dBa36bC40b36DC8729DF0b21C8340fb", + "cellId": "EI-L20-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B00-C5" + }, + { + "lpbca": 20, + "branch": 1, + "class": 0, + "linearIndex": 3966, + "address": "0xEb589993302DA2799a3C5cA122499958dbDb602B", + "cellId": "EI-L20-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B01-C0" + }, + { + "lpbca": 20, + "branch": 1, + "class": 1, + "linearIndex": 3967, + "address": "0x43e82d8485CB8b2576ab7E34CEabf9d025d1DD11", + "cellId": "EI-L20-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B01-C1" + }, + { + "lpbca": 20, + "branch": 1, + "class": 2, + "linearIndex": 3968, + "address": "0x5bc2Aec4F59bBEA6DbE9cC03604B3765529A3Ef0", + "cellId": "EI-L20-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B01-C2" + }, + { + "lpbca": 20, + "branch": 1, + "class": 3, + "linearIndex": 3969, + "address": "0xda11E5a0616F86a4020d8b32f1839B107b339FB3", + "cellId": "EI-L20-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B01-C3" + }, + { + "lpbca": 20, + "branch": 1, + "class": 4, + "linearIndex": 3970, + "address": "0x6812FF48C87d38d59384681Fc56938133d0EB646", + "cellId": "EI-L20-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B01-C4" + }, + { + "lpbca": 20, + "branch": 1, + "class": 5, + "linearIndex": 3971, + "address": "0xc62761d07312706A619E57bb29f31Fa08EfED5aa", + "cellId": "EI-L20-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B01-C5" + }, + { + "lpbca": 20, + "branch": 2, + "class": 0, + "linearIndex": 3972, + "address": "0x3e75b8374Ba2E65b90244b03FfFb6cb7a32D8342", + "cellId": "EI-L20-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B02-C0" + }, + { + "lpbca": 20, + "branch": 2, + "class": 1, + "linearIndex": 3973, + "address": "0x3bD025F6Be84Cc518607030A0A4C650B0a967dc4", + "cellId": "EI-L20-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B02-C1" + }, + { + "lpbca": 20, + "branch": 2, + "class": 2, + "linearIndex": 3974, + "address": "0x1Dda937F633AD31AA4335cF73d9749E43F427490", + "cellId": "EI-L20-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B02-C2" + }, + { + "lpbca": 20, + "branch": 2, + "class": 3, + "linearIndex": 3975, + "address": "0x3726A57148804ffc408258e9709f253D8E944a8a", + "cellId": "EI-L20-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B02-C3" + }, + { + "lpbca": 20, + "branch": 2, + "class": 4, + "linearIndex": 3976, + "address": "0xA7A7d4ff8Ecd8C7fD529C764344194b41E7213d7", + "cellId": "EI-L20-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B02-C4" + }, + { + "lpbca": 20, + "branch": 2, + "class": 5, + "linearIndex": 3977, + "address": "0x0Fe1887167A1A513DdC0C99dae26435fBD314f3e", + "cellId": "EI-L20-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B02-C5" + }, + { + "lpbca": 20, + "branch": 3, + "class": 0, + "linearIndex": 3978, + "address": "0x2c1744e07a298a6eE1319fCB4EAe469DEf92aE39", + "cellId": "EI-L20-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B03-C0" + }, + { + "lpbca": 20, + "branch": 3, + "class": 1, + "linearIndex": 3979, + "address": "0x4116203Ac39827eF43c29156e5a7C2cDC16058f1", + "cellId": "EI-L20-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B03-C1" + }, + { + "lpbca": 20, + "branch": 3, + "class": 2, + "linearIndex": 3980, + "address": "0x2dc219e6D2bb0e89f8E0e5f2a3C2007fAdde334b", + "cellId": "EI-L20-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B03-C2" + }, + { + "lpbca": 20, + "branch": 3, + "class": 3, + "linearIndex": 3981, + "address": "0xE8aa857f7b47a58cD51A7C6FFe0f8160763f415E", + "cellId": "EI-L20-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B03-C3" + }, + { + "lpbca": 20, + "branch": 3, + "class": 4, + "linearIndex": 3982, + "address": "0x239f180d83Ade1ff345641511a64aD5f2f6b85C6", + "cellId": "EI-L20-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B03-C4" + }, + { + "lpbca": 20, + "branch": 3, + "class": 5, + "linearIndex": 3983, + "address": "0x872D5a5c7CFc65C9111b48DAeda38502e57772fb", + "cellId": "EI-L20-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B03-C5" + }, + { + "lpbca": 20, + "branch": 4, + "class": 0, + "linearIndex": 3984, + "address": "0xCDeC9B9f2E9E52b2bc7E40CdFfD47C54C3933A96", + "cellId": "EI-L20-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B04-C0" + }, + { + "lpbca": 20, + "branch": 4, + "class": 1, + "linearIndex": 3985, + "address": "0x5fA924488F9B395FB86031300Fd794F636b6a85b", + "cellId": "EI-L20-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B04-C1" + }, + { + "lpbca": 20, + "branch": 4, + "class": 2, + "linearIndex": 3986, + "address": "0x857F0e0782702D3BD4c00DDF6EC0d6019b7799E3", + "cellId": "EI-L20-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B04-C2" + }, + { + "lpbca": 20, + "branch": 4, + "class": 3, + "linearIndex": 3987, + "address": "0x74C6e5B1C9A163B553477c983F9F373EFe8Dff53", + "cellId": "EI-L20-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B04-C3" + }, + { + "lpbca": 20, + "branch": 4, + "class": 4, + "linearIndex": 3988, + "address": "0xB4aDBD2df7FEcEbd8eA6c05d95ff9D206fc32CD3", + "cellId": "EI-L20-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B04-C4" + }, + { + "lpbca": 20, + "branch": 4, + "class": 5, + "linearIndex": 3989, + "address": "0xE8215ecc67014e145C82CBF4A6Be062985df2c06", + "cellId": "EI-L20-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B04-C5" + }, + { + "lpbca": 20, + "branch": 5, + "class": 0, + "linearIndex": 3990, + "address": "0x0e69D31ae62C07bB604735654Ea44Aca8e1dACbd", + "cellId": "EI-L20-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B05-C0" + }, + { + "lpbca": 20, + "branch": 5, + "class": 1, + "linearIndex": 3991, + "address": "0x8bb0f9513E61DE90AB3be6d5eBf77609E03c4881", + "cellId": "EI-L20-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B05-C1" + }, + { + "lpbca": 20, + "branch": 5, + "class": 2, + "linearIndex": 3992, + "address": "0xAF552f6A45db3BC1D25754DBcACFdB191f6d6a21", + "cellId": "EI-L20-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B05-C2" + }, + { + "lpbca": 20, + "branch": 5, + "class": 3, + "linearIndex": 3993, + "address": "0x11C641653a14Eb430d8700A68fecBF744Bd92022", + "cellId": "EI-L20-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B05-C3" + }, + { + "lpbca": 20, + "branch": 5, + "class": 4, + "linearIndex": 3994, + "address": "0x92e0e854f94cc95B42A3C5984e5cac6090978D08", + "cellId": "EI-L20-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B05-C4" + }, + { + "lpbca": 20, + "branch": 5, + "class": 5, + "linearIndex": 3995, + "address": "0x4f35738f567F9fA2711116f0FA1BE90caC745cFf", + "cellId": "EI-L20-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B05-C5" + }, + { + "lpbca": 20, + "branch": 6, + "class": 0, + "linearIndex": 3996, + "address": "0x2446bc7E158a2Fc8fd01dA3e8552A635D43EEfeb", + "cellId": "EI-L20-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B06-C0" + }, + { + "lpbca": 20, + "branch": 6, + "class": 1, + "linearIndex": 3997, + "address": "0xd02213A065A785e2E822690c1C0148EE53faF849", + "cellId": "EI-L20-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B06-C1" + }, + { + "lpbca": 20, + "branch": 6, + "class": 2, + "linearIndex": 3998, + "address": "0x2B2c3d6142814E10e87f7Ef95F348D15b50E3d68", + "cellId": "EI-L20-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B06-C2" + }, + { + "lpbca": 20, + "branch": 6, + "class": 3, + "linearIndex": 3999, + "address": "0xd0a110731B61b03b3ede2Ee46c2a437B8699C0A0", + "cellId": "EI-L20-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B06-C3" + }, + { + "lpbca": 20, + "branch": 6, + "class": 4, + "linearIndex": 4000, + "address": "0xE7EE8A6eb237422d89823FAfdE61959DEB34dF68", + "cellId": "EI-L20-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B06-C4" + }, + { + "lpbca": 20, + "branch": 6, + "class": 5, + "linearIndex": 4001, + "address": "0xeE2Fd5C587B377De55E25E54cAF213d75E68Dbdb", + "cellId": "EI-L20-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B06-C5" + }, + { + "lpbca": 20, + "branch": 7, + "class": 0, + "linearIndex": 4002, + "address": "0xF6ad24B6911Fe7312093E47e6559b4379e6CE662", + "cellId": "EI-L20-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B07-C0" + }, + { + "lpbca": 20, + "branch": 7, + "class": 1, + "linearIndex": 4003, + "address": "0x1e43e72989dcEd98820273CF47E29342A6BaeBC7", + "cellId": "EI-L20-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B07-C1" + }, + { + "lpbca": 20, + "branch": 7, + "class": 2, + "linearIndex": 4004, + "address": "0x45a0692898C7519fcAd236D9C11838284452a799", + "cellId": "EI-L20-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B07-C2" + }, + { + "lpbca": 20, + "branch": 7, + "class": 3, + "linearIndex": 4005, + "address": "0xb26674cB1520BcBfcDDA8269dED8a7BdD46B861B", + "cellId": "EI-L20-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B07-C3" + }, + { + "lpbca": 20, + "branch": 7, + "class": 4, + "linearIndex": 4006, + "address": "0xe2E6C24AafC995c98e529FC72bC4c543307d433F", + "cellId": "EI-L20-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B07-C4" + }, + { + "lpbca": 20, + "branch": 7, + "class": 5, + "linearIndex": 4007, + "address": "0xda2ec4dF3237225690c9A2Ef9F03B5Ffe188C053", + "cellId": "EI-L20-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B07-C5" + }, + { + "lpbca": 20, + "branch": 8, + "class": 0, + "linearIndex": 4008, + "address": "0x11862FfC045Ab2BA3D2C6E39b2Db6e7a0C81EC1A", + "cellId": "EI-L20-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B08-C0" + }, + { + "lpbca": 20, + "branch": 8, + "class": 1, + "linearIndex": 4009, + "address": "0x3905e4255E49823Ee8A54Cd1bdf3edb4538310E3", + "cellId": "EI-L20-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B08-C1" + }, + { + "lpbca": 20, + "branch": 8, + "class": 2, + "linearIndex": 4010, + "address": "0x79222a424a5D65e18EfD1200E17416aB09B531Cf", + "cellId": "EI-L20-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B08-C2" + }, + { + "lpbca": 20, + "branch": 8, + "class": 3, + "linearIndex": 4011, + "address": "0xFbB1Ff1D0c567164F6837FF5b07E973a556c3E0d", + "cellId": "EI-L20-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B08-C3" + }, + { + "lpbca": 20, + "branch": 8, + "class": 4, + "linearIndex": 4012, + "address": "0xcadDbeadEC8553D8f63cE0F57bdE4c11b99F59Cd", + "cellId": "EI-L20-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B08-C4" + }, + { + "lpbca": 20, + "branch": 8, + "class": 5, + "linearIndex": 4013, + "address": "0xF95615bF6898dCfe7ACc61A0211C4824d5f30470", + "cellId": "EI-L20-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B08-C5" + }, + { + "lpbca": 20, + "branch": 9, + "class": 0, + "linearIndex": 4014, + "address": "0x96014c23126e25470E8249de08A221bb28275B03", + "cellId": "EI-L20-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B09-C0" + }, + { + "lpbca": 20, + "branch": 9, + "class": 1, + "linearIndex": 4015, + "address": "0x79E4F12CfC2C6941eB7e8A4cFa4b55ab70fDb7F4", + "cellId": "EI-L20-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B09-C1" + }, + { + "lpbca": 20, + "branch": 9, + "class": 2, + "linearIndex": 4016, + "address": "0xf1CDbC956A8acB33d0C4d5006F48Af0cf7B025e9", + "cellId": "EI-L20-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B09-C2" + }, + { + "lpbca": 20, + "branch": 9, + "class": 3, + "linearIndex": 4017, + "address": "0x2c027672add203540005DCc3Deb29830e01C8676", + "cellId": "EI-L20-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B09-C3" + }, + { + "lpbca": 20, + "branch": 9, + "class": 4, + "linearIndex": 4018, + "address": "0x8e46E07be230c960867f3368659A3A9bCd3B386E", + "cellId": "EI-L20-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B09-C4" + }, + { + "lpbca": 20, + "branch": 9, + "class": 5, + "linearIndex": 4019, + "address": "0x37E809f4b1706aD8d430389B6d281D3e76fEBde1", + "cellId": "EI-L20-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B09-C5" + }, + { + "lpbca": 20, + "branch": 10, + "class": 0, + "linearIndex": 4020, + "address": "0xEbAB30bee30100F72A4Ea2EA39D359b62CEa2d1A", + "cellId": "EI-L20-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B10-C0" + }, + { + "lpbca": 20, + "branch": 10, + "class": 1, + "linearIndex": 4021, + "address": "0x2ea437bcD359084d7be95C5326543FB05Aa5CE29", + "cellId": "EI-L20-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B10-C1" + }, + { + "lpbca": 20, + "branch": 10, + "class": 2, + "linearIndex": 4022, + "address": "0xb4cB9FB8a663C3a4114bfbC1Dba32f4A487e093C", + "cellId": "EI-L20-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B10-C2" + }, + { + "lpbca": 20, + "branch": 10, + "class": 3, + "linearIndex": 4023, + "address": "0x42d8e8EA25C5Ad275a112be50cbA4BfBEF896e06", + "cellId": "EI-L20-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B10-C3" + }, + { + "lpbca": 20, + "branch": 10, + "class": 4, + "linearIndex": 4024, + "address": "0x9166e57Fb697b09baF7789304Ae925335633960D", + "cellId": "EI-L20-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B10-C4" + }, + { + "lpbca": 20, + "branch": 10, + "class": 5, + "linearIndex": 4025, + "address": "0x5E93CCf525e029fB45A1d9547Dedc884AC44D5AA", + "cellId": "EI-L20-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B10-C5" + }, + { + "lpbca": 20, + "branch": 11, + "class": 0, + "linearIndex": 4026, + "address": "0x0F4d9C9CbfFc88CbE81298c20Abe74379909cc58", + "cellId": "EI-L20-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B11-C0" + }, + { + "lpbca": 20, + "branch": 11, + "class": 1, + "linearIndex": 4027, + "address": "0x6142e926Dd3166f314758C1cf3d2a56478F3316B", + "cellId": "EI-L20-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B11-C1" + }, + { + "lpbca": 20, + "branch": 11, + "class": 2, + "linearIndex": 4028, + "address": "0x499e04Eb6F9E2ABD755759c1e5E3E909C791bFEB", + "cellId": "EI-L20-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B11-C2" + }, + { + "lpbca": 20, + "branch": 11, + "class": 3, + "linearIndex": 4029, + "address": "0x9dbcbC855d02209dfd5762872F5C12ece8C58084", + "cellId": "EI-L20-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B11-C3" + }, + { + "lpbca": 20, + "branch": 11, + "class": 4, + "linearIndex": 4030, + "address": "0x324837c462774016B4ABdbCa8d94353c05a50560", + "cellId": "EI-L20-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B11-C4" + }, + { + "lpbca": 20, + "branch": 11, + "class": 5, + "linearIndex": 4031, + "address": "0xa2aa9B8039538F83cE086B3129f9fB03d903dA30", + "cellId": "EI-L20-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B11-C5" + }, + { + "lpbca": 20, + "branch": 12, + "class": 0, + "linearIndex": 4032, + "address": "0x0C74cfa63eFA92E484E3b9852362B948699bB5b5", + "cellId": "EI-L20-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B12-C0" + }, + { + "lpbca": 20, + "branch": 12, + "class": 1, + "linearIndex": 4033, + "address": "0xc8b97e9E98FDcb689166211011C1F069cdB7e8b3", + "cellId": "EI-L20-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B12-C1" + }, + { + "lpbca": 20, + "branch": 12, + "class": 2, + "linearIndex": 4034, + "address": "0x3fb11efA55B961BE34A6c6152C2c04091a126646", + "cellId": "EI-L20-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B12-C2" + }, + { + "lpbca": 20, + "branch": 12, + "class": 3, + "linearIndex": 4035, + "address": "0x454EC3a74e029e6640Dd3703Cf4B03a938417D57", + "cellId": "EI-L20-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B12-C3" + }, + { + "lpbca": 20, + "branch": 12, + "class": 4, + "linearIndex": 4036, + "address": "0x92dCD0555D67d3838b64DA568229AA3185241B9d", + "cellId": "EI-L20-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B12-C4" + }, + { + "lpbca": 20, + "branch": 12, + "class": 5, + "linearIndex": 4037, + "address": "0x31401f23c9FFe991286f5b73Cf7019a1F493e560", + "cellId": "EI-L20-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B12-C5" + }, + { + "lpbca": 20, + "branch": 13, + "class": 0, + "linearIndex": 4038, + "address": "0x7702F66CAF3d6EFD50905F72CCE6E0A891f3DeBC", + "cellId": "EI-L20-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B13-C0" + }, + { + "lpbca": 20, + "branch": 13, + "class": 1, + "linearIndex": 4039, + "address": "0xDb31FFe8c083248AB92e69424f88Ce50A4A9bC1C", + "cellId": "EI-L20-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B13-C1" + }, + { + "lpbca": 20, + "branch": 13, + "class": 2, + "linearIndex": 4040, + "address": "0x0372C130cc15327856E04d3f9F9b16ac1316eF42", + "cellId": "EI-L20-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B13-C2" + }, + { + "lpbca": 20, + "branch": 13, + "class": 3, + "linearIndex": 4041, + "address": "0x6aDD7380fb9CBde5CC622d01548232AdBDafe635", + "cellId": "EI-L20-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B13-C3" + }, + { + "lpbca": 20, + "branch": 13, + "class": 4, + "linearIndex": 4042, + "address": "0x1B64d4B6ceD8C73D9ea2Eff51d3A87030A62c9f2", + "cellId": "EI-L20-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B13-C4" + }, + { + "lpbca": 20, + "branch": 13, + "class": 5, + "linearIndex": 4043, + "address": "0x3844Ff368B023aa9D1A6686b6DC016a615A05C8b", + "cellId": "EI-L20-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B13-C5" + }, + { + "lpbca": 20, + "branch": 14, + "class": 0, + "linearIndex": 4044, + "address": "0x2A198F585DFA0A42ed9Fd080d14b6D09aFe4ddd9", + "cellId": "EI-L20-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B14-C0" + }, + { + "lpbca": 20, + "branch": 14, + "class": 1, + "linearIndex": 4045, + "address": "0x57F4017Ce6339AecAB611b299039B697e99474e9", + "cellId": "EI-L20-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B14-C1" + }, + { + "lpbca": 20, + "branch": 14, + "class": 2, + "linearIndex": 4046, + "address": "0x2eB85ca5ACfEa5823c14655bc7a9891fE83eD906", + "cellId": "EI-L20-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B14-C2" + }, + { + "lpbca": 20, + "branch": 14, + "class": 3, + "linearIndex": 4047, + "address": "0x65422c1EdC3F5280858e2Cf6786dc7e515A6f057", + "cellId": "EI-L20-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B14-C3" + }, + { + "lpbca": 20, + "branch": 14, + "class": 4, + "linearIndex": 4048, + "address": "0x67E63eE97a6CA29c316F972168c395AeBDDCB859", + "cellId": "EI-L20-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B14-C4" + }, + { + "lpbca": 20, + "branch": 14, + "class": 5, + "linearIndex": 4049, + "address": "0xc3C643C0958D4d917CC8425608433483b872cc5A", + "cellId": "EI-L20-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B14-C5" + }, + { + "lpbca": 20, + "branch": 15, + "class": 0, + "linearIndex": 4050, + "address": "0xb310ec295bDC8C66519CB2ADe0B45E2A2D87bE32", + "cellId": "EI-L20-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B15-C0" + }, + { + "lpbca": 20, + "branch": 15, + "class": 1, + "linearIndex": 4051, + "address": "0x683cEffFA52Cf1340786C9D22869325C80437aA8", + "cellId": "EI-L20-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B15-C1" + }, + { + "lpbca": 20, + "branch": 15, + "class": 2, + "linearIndex": 4052, + "address": "0xBd4601391F7E5Af6eCF31AC0a36eAe2877f32152", + "cellId": "EI-L20-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B15-C2" + }, + { + "lpbca": 20, + "branch": 15, + "class": 3, + "linearIndex": 4053, + "address": "0x4e3493C331f2A4ba1b0814930978BE55EBC544Ac", + "cellId": "EI-L20-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B15-C3" + }, + { + "lpbca": 20, + "branch": 15, + "class": 4, + "linearIndex": 4054, + "address": "0x327A7a785a68dfEcDF9DA38e86ff3ab6d61F10Cf", + "cellId": "EI-L20-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B15-C4" + }, + { + "lpbca": 20, + "branch": 15, + "class": 5, + "linearIndex": 4055, + "address": "0x58e63250D1487071B90D265e6daD6b1C5C4Ec140", + "cellId": "EI-L20-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B15-C5" + }, + { + "lpbca": 20, + "branch": 16, + "class": 0, + "linearIndex": 4056, + "address": "0xB72AfA6243eb82F9C619e43E15035a0BBd9bE02f", + "cellId": "EI-L20-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B16-C0" + }, + { + "lpbca": 20, + "branch": 16, + "class": 1, + "linearIndex": 4057, + "address": "0xCebF40ec75911201F053350459A66D0E58606848", + "cellId": "EI-L20-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B16-C1" + }, + { + "lpbca": 20, + "branch": 16, + "class": 2, + "linearIndex": 4058, + "address": "0x561b37187c5b8FF33a8e9744914b3f5f34c415Ad", + "cellId": "EI-L20-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B16-C2" + }, + { + "lpbca": 20, + "branch": 16, + "class": 3, + "linearIndex": 4059, + "address": "0x951E94f04265199C8983eBDc5172A694A8f8BbE7", + "cellId": "EI-L20-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B16-C3" + }, + { + "lpbca": 20, + "branch": 16, + "class": 4, + "linearIndex": 4060, + "address": "0x7cA21970521C319A5DAe801Eb13c61166d900E0E", + "cellId": "EI-L20-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B16-C4" + }, + { + "lpbca": 20, + "branch": 16, + "class": 5, + "linearIndex": 4061, + "address": "0xd100c8be5FF6b2Ada2325C2cAd6dE2aa4a5d4B1D", + "cellId": "EI-L20-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B16-C5" + }, + { + "lpbca": 20, + "branch": 17, + "class": 0, + "linearIndex": 4062, + "address": "0x6c788F480c90d8C3ec601E9c7754986781d0FB1d", + "cellId": "EI-L20-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B17-C0" + }, + { + "lpbca": 20, + "branch": 17, + "class": 1, + "linearIndex": 4063, + "address": "0x004518628558667679A3a0f62418Fa7C2fd68275", + "cellId": "EI-L20-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B17-C1" + }, + { + "lpbca": 20, + "branch": 17, + "class": 2, + "linearIndex": 4064, + "address": "0xF6e2cA088981772E6c0e213469C878e55673A316", + "cellId": "EI-L20-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B17-C2" + }, + { + "lpbca": 20, + "branch": 17, + "class": 3, + "linearIndex": 4065, + "address": "0x5f262B4c8aCC802F812F648644a01204E7007A30", + "cellId": "EI-L20-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B17-C3" + }, + { + "lpbca": 20, + "branch": 17, + "class": 4, + "linearIndex": 4066, + "address": "0x3BAc87429837929fA15234716d86749E5f2627Fa", + "cellId": "EI-L20-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B17-C4" + }, + { + "lpbca": 20, + "branch": 17, + "class": 5, + "linearIndex": 4067, + "address": "0x6fab73342140ED886dBdCf5ACd99aa803f8E7a12", + "cellId": "EI-L20-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B17-C5" + }, + { + "lpbca": 20, + "branch": 18, + "class": 0, + "linearIndex": 4068, + "address": "0xbF9F5a0F4AE22b9aEA7f2a141093c32c789E8019", + "cellId": "EI-L20-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B18-C0" + }, + { + "lpbca": 20, + "branch": 18, + "class": 1, + "linearIndex": 4069, + "address": "0x4EC5070de28b9208381Eb8CBA0F46BA4ff0c3DCb", + "cellId": "EI-L20-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B18-C1" + }, + { + "lpbca": 20, + "branch": 18, + "class": 2, + "linearIndex": 4070, + "address": "0x9a0ed24b292bd0b53b315873f15aEcc035A6C020", + "cellId": "EI-L20-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B18-C2" + }, + { + "lpbca": 20, + "branch": 18, + "class": 3, + "linearIndex": 4071, + "address": "0x61d31B27826a9A02E6A2eE127380968f782Cf695", + "cellId": "EI-L20-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B18-C3" + }, + { + "lpbca": 20, + "branch": 18, + "class": 4, + "linearIndex": 4072, + "address": "0x0A60CFa0d9B70d9d99E6557Bfec1D8FE660CCf85", + "cellId": "EI-L20-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B18-C4" + }, + { + "lpbca": 20, + "branch": 18, + "class": 5, + "linearIndex": 4073, + "address": "0x8a1356C681c075C04723844EB03F518Dc637f637", + "cellId": "EI-L20-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B18-C5" + }, + { + "lpbca": 20, + "branch": 19, + "class": 0, + "linearIndex": 4074, + "address": "0x570c728D4FFf8165618A59C12AB205C76B9C249c", + "cellId": "EI-L20-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B19-C0" + }, + { + "lpbca": 20, + "branch": 19, + "class": 1, + "linearIndex": 4075, + "address": "0xa85B32C86731d045793a3E00Ef28bC251DeD21eF", + "cellId": "EI-L20-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B19-C1" + }, + { + "lpbca": 20, + "branch": 19, + "class": 2, + "linearIndex": 4076, + "address": "0x768848cb990e843755b697A75A38B5Ed110f7E0B", + "cellId": "EI-L20-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B19-C2" + }, + { + "lpbca": 20, + "branch": 19, + "class": 3, + "linearIndex": 4077, + "address": "0xf16121F98a62359C76159EF7Eb14a1A1c4E2e5a2", + "cellId": "EI-L20-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B19-C3" + }, + { + "lpbca": 20, + "branch": 19, + "class": 4, + "linearIndex": 4078, + "address": "0x05Ca9DF76398697100dFfcfF3ADDD44b27F29DcE", + "cellId": "EI-L20-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B19-C4" + }, + { + "lpbca": 20, + "branch": 19, + "class": 5, + "linearIndex": 4079, + "address": "0xAb645E88592EdECbe7046f0A8C13d7a42881b436", + "cellId": "EI-L20-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B19-C5" + }, + { + "lpbca": 20, + "branch": 20, + "class": 0, + "linearIndex": 4080, + "address": "0xD9A1B2343b8A118dCA34698DE240973EE8c2D511", + "cellId": "EI-L20-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B20-C0" + }, + { + "lpbca": 20, + "branch": 20, + "class": 1, + "linearIndex": 4081, + "address": "0x54C122A423bAbcd4C4366f12871e58Da62c1dD23", + "cellId": "EI-L20-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B20-C1" + }, + { + "lpbca": 20, + "branch": 20, + "class": 2, + "linearIndex": 4082, + "address": "0xDe0AfB719E4B5d261780429A6CF451daef377578", + "cellId": "EI-L20-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B20-C2" + }, + { + "lpbca": 20, + "branch": 20, + "class": 3, + "linearIndex": 4083, + "address": "0x505F01e06BfF9c5045eB6E60e9C96856B8E37a35", + "cellId": "EI-L20-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B20-C3" + }, + { + "lpbca": 20, + "branch": 20, + "class": 4, + "linearIndex": 4084, + "address": "0x081E595417bB51413Ea60d8C41c59fa3051711E2", + "cellId": "EI-L20-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B20-C4" + }, + { + "lpbca": 20, + "branch": 20, + "class": 5, + "linearIndex": 4085, + "address": "0x930D41fdf63476bF46E02C287B07D83ae68f2D87", + "cellId": "EI-L20-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B20-C5" + }, + { + "lpbca": 20, + "branch": 21, + "class": 0, + "linearIndex": 4086, + "address": "0x03C1B0138f4a2855735dfaC9A55B0aAC84210c7f", + "cellId": "EI-L20-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B21-C0" + }, + { + "lpbca": 20, + "branch": 21, + "class": 1, + "linearIndex": 4087, + "address": "0x3BAEe8f921e9a57f2d1789EA626b62b9d3525d09", + "cellId": "EI-L20-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B21-C1" + }, + { + "lpbca": 20, + "branch": 21, + "class": 2, + "linearIndex": 4088, + "address": "0x9585C9485e1eE9107D93FaEf2FbA0B219B833BdC", + "cellId": "EI-L20-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B21-C2" + }, + { + "lpbca": 20, + "branch": 21, + "class": 3, + "linearIndex": 4089, + "address": "0x8C07f58dB4EBd43FA8c2A6CF1bc4AE7032f16c9B", + "cellId": "EI-L20-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B21-C3" + }, + { + "lpbca": 20, + "branch": 21, + "class": 4, + "linearIndex": 4090, + "address": "0x39A1b4D3697B2cdF377cb30b91d746A5797A9Db8", + "cellId": "EI-L20-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B21-C4" + }, + { + "lpbca": 20, + "branch": 21, + "class": 5, + "linearIndex": 4091, + "address": "0xf756f4b484BC9B90BA846c1d71Bc7BaDBb0A48b7", + "cellId": "EI-L20-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B21-C5" + }, + { + "lpbca": 20, + "branch": 22, + "class": 0, + "linearIndex": 4092, + "address": "0x565f88A2C958b4892C10dca6Ca21bD94Fe1000c9", + "cellId": "EI-L20-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B22-C0" + }, + { + "lpbca": 20, + "branch": 22, + "class": 1, + "linearIndex": 4093, + "address": "0x475ecE4D6581709ba83d5e36F8Df450F235c6b44", + "cellId": "EI-L20-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B22-C1" + }, + { + "lpbca": 20, + "branch": 22, + "class": 2, + "linearIndex": 4094, + "address": "0x5c87A5461BA38A04D148Cc01E685FDba5d81CeFF", + "cellId": "EI-L20-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B22-C2" + }, + { + "lpbca": 20, + "branch": 22, + "class": 3, + "linearIndex": 4095, + "address": "0x61C8DeC176eCE2eF98de9Cd33148b642823F42Fe", + "cellId": "EI-L20-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B22-C3" + }, + { + "lpbca": 20, + "branch": 22, + "class": 4, + "linearIndex": 4096, + "address": "0x31CbFf04840A5Df24180AE76efa98990FF8525F7", + "cellId": "EI-L20-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B22-C4" + }, + { + "lpbca": 20, + "branch": 22, + "class": 5, + "linearIndex": 4097, + "address": "0xFB7f1F43561DEf118fa68882a12E12Dc81241685", + "cellId": "EI-L20-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B22-C5" + }, + { + "lpbca": 20, + "branch": 23, + "class": 0, + "linearIndex": 4098, + "address": "0xcf5349873Ed60524ded6813Bf864D998cF7F4880", + "cellId": "EI-L20-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B23-C0" + }, + { + "lpbca": 20, + "branch": 23, + "class": 1, + "linearIndex": 4099, + "address": "0x9A836E7CA008b119295293AAa4F0b952C48e08E5", + "cellId": "EI-L20-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B23-C1" + }, + { + "lpbca": 20, + "branch": 23, + "class": 2, + "linearIndex": 4100, + "address": "0x08a7690292665D4461D38c0Ae98bE17B57865F4a", + "cellId": "EI-L20-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B23-C2" + }, + { + "lpbca": 20, + "branch": 23, + "class": 3, + "linearIndex": 4101, + "address": "0x2FF57950BDCbADd77F716caBaC5219A33A69128f", + "cellId": "EI-L20-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B23-C3" + }, + { + "lpbca": 20, + "branch": 23, + "class": 4, + "linearIndex": 4102, + "address": "0xF961Fd325929779367D80D5D51BC3C3ecD18dE2f", + "cellId": "EI-L20-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B23-C4" + }, + { + "lpbca": 20, + "branch": 23, + "class": 5, + "linearIndex": 4103, + "address": "0xb9b3113545E9f9D680fE423b8398F7e68B5D4ACE", + "cellId": "EI-L20-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B23-C5" + }, + { + "lpbca": 20, + "branch": 24, + "class": 0, + "linearIndex": 4104, + "address": "0x611e7dBC322B3F27FF64D2109b02001556a8c52A", + "cellId": "EI-L20-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B24-C0" + }, + { + "lpbca": 20, + "branch": 24, + "class": 1, + "linearIndex": 4105, + "address": "0x9AC5876f3d0b753D48E9B180C8FF4a6B9d3E9A38", + "cellId": "EI-L20-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B24-C1" + }, + { + "lpbca": 20, + "branch": 24, + "class": 2, + "linearIndex": 4106, + "address": "0x00E9ea5Df0668f6A27C5945d4cD3cE7170d19Eb6", + "cellId": "EI-L20-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B24-C2" + }, + { + "lpbca": 20, + "branch": 24, + "class": 3, + "linearIndex": 4107, + "address": "0x8fD83BF883B9f02300309268c7310A8945FA8925", + "cellId": "EI-L20-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B24-C3" + }, + { + "lpbca": 20, + "branch": 24, + "class": 4, + "linearIndex": 4108, + "address": "0x4Bb4690F027b3f9Ea2eE1FE3B5fC2f66B1718C36", + "cellId": "EI-L20-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B24-C4" + }, + { + "lpbca": 20, + "branch": 24, + "class": 5, + "linearIndex": 4109, + "address": "0xb48Cf467ce5b687C714F99463D842C83498Ad6b8", + "cellId": "EI-L20-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B24-C5" + }, + { + "lpbca": 20, + "branch": 25, + "class": 0, + "linearIndex": 4110, + "address": "0xFc729dfe30aDBee9fe3c3B1A8C94f4B9d3DC90D1", + "cellId": "EI-L20-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B25-C0" + }, + { + "lpbca": 20, + "branch": 25, + "class": 1, + "linearIndex": 4111, + "address": "0xEa94235ed905e766D26e5a22c7a9A0881d0532Dc", + "cellId": "EI-L20-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B25-C1" + }, + { + "lpbca": 20, + "branch": 25, + "class": 2, + "linearIndex": 4112, + "address": "0x7b073F8597A823af4B76069d962203C3333d7ee4", + "cellId": "EI-L20-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B25-C2" + }, + { + "lpbca": 20, + "branch": 25, + "class": 3, + "linearIndex": 4113, + "address": "0x060bD47BD923861A638eaB69A4b867Ce30EC95D0", + "cellId": "EI-L20-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B25-C3" + }, + { + "lpbca": 20, + "branch": 25, + "class": 4, + "linearIndex": 4114, + "address": "0x19d059E3Da50929034F215179f21726bb0E8534D", + "cellId": "EI-L20-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B25-C4" + }, + { + "lpbca": 20, + "branch": 25, + "class": 5, + "linearIndex": 4115, + "address": "0x51359af507768D5221BCA80d38Ca77046281fAf7", + "cellId": "EI-L20-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B25-C5" + }, + { + "lpbca": 20, + "branch": 26, + "class": 0, + "linearIndex": 4116, + "address": "0xb052c731163A79F2a90189D1C38c301eC0ceAc44", + "cellId": "EI-L20-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B26-C0" + }, + { + "lpbca": 20, + "branch": 26, + "class": 1, + "linearIndex": 4117, + "address": "0xBcC3D985F21B8178680D41ADd1Ea508CE53af6De", + "cellId": "EI-L20-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B26-C1" + }, + { + "lpbca": 20, + "branch": 26, + "class": 2, + "linearIndex": 4118, + "address": "0x32b8f35edfEb734F0A6728C5DAF99cb44De29807", + "cellId": "EI-L20-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B26-C2" + }, + { + "lpbca": 20, + "branch": 26, + "class": 3, + "linearIndex": 4119, + "address": "0xE02ada023ddCbAd910AF0da24998c11c6073A0D0", + "cellId": "EI-L20-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B26-C3" + }, + { + "lpbca": 20, + "branch": 26, + "class": 4, + "linearIndex": 4120, + "address": "0x1A714bb95D344C33B97be9cFf709a159EADa065d", + "cellId": "EI-L20-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B26-C4" + }, + { + "lpbca": 20, + "branch": 26, + "class": 5, + "linearIndex": 4121, + "address": "0x0c0DbAa3a0C57aDD9a24e662152d506639841172", + "cellId": "EI-L20-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B26-C5" + }, + { + "lpbca": 20, + "branch": 27, + "class": 0, + "linearIndex": 4122, + "address": "0xB2011b12b7A874ABAe738614A611C067bCf60B66", + "cellId": "EI-L20-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B27-C0" + }, + { + "lpbca": 20, + "branch": 27, + "class": 1, + "linearIndex": 4123, + "address": "0x59B14E41fa07656b6d5F3f68636358a277c57752", + "cellId": "EI-L20-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B27-C1" + }, + { + "lpbca": 20, + "branch": 27, + "class": 2, + "linearIndex": 4124, + "address": "0xd30CF16621760165AA3c78b825F6ac2a400E7C2d", + "cellId": "EI-L20-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B27-C2" + }, + { + "lpbca": 20, + "branch": 27, + "class": 3, + "linearIndex": 4125, + "address": "0x480c1BF2A1B4Ab6Ef294422257fb480403a73E4F", + "cellId": "EI-L20-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B27-C3" + }, + { + "lpbca": 20, + "branch": 27, + "class": 4, + "linearIndex": 4126, + "address": "0x0E357bbd165A3D86505cD4659fEd767D19857223", + "cellId": "EI-L20-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B27-C4" + }, + { + "lpbca": 20, + "branch": 27, + "class": 5, + "linearIndex": 4127, + "address": "0xE918F29b0ADdEc41fd65254BaCb2D207Fd6525b4", + "cellId": "EI-L20-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B27-C5" + }, + { + "lpbca": 20, + "branch": 28, + "class": 0, + "linearIndex": 4128, + "address": "0x76c88c48dEab202b39B7bf0C88D6262Dfed3b70C", + "cellId": "EI-L20-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B28-C0" + }, + { + "lpbca": 20, + "branch": 28, + "class": 1, + "linearIndex": 4129, + "address": "0xfb79132edA939ab0f77c0B1fEBf3bf7966B5B007", + "cellId": "EI-L20-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B28-C1" + }, + { + "lpbca": 20, + "branch": 28, + "class": 2, + "linearIndex": 4130, + "address": "0x53CD7040689af4e81bBFb6F7FCdfd93C6E5B8608", + "cellId": "EI-L20-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B28-C2" + }, + { + "lpbca": 20, + "branch": 28, + "class": 3, + "linearIndex": 4131, + "address": "0x7Eb8B23e55dd2b31D5365bab4654123a2474015e", + "cellId": "EI-L20-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B28-C3" + }, + { + "lpbca": 20, + "branch": 28, + "class": 4, + "linearIndex": 4132, + "address": "0x257aA05B76E433be96f0d8d4A6DF44cbe15e246F", + "cellId": "EI-L20-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B28-C4" + }, + { + "lpbca": 20, + "branch": 28, + "class": 5, + "linearIndex": 4133, + "address": "0xFa4b487Bea30d3357d0c21055Ec9b0AcE7CBAA48", + "cellId": "EI-L20-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B28-C5" + }, + { + "lpbca": 20, + "branch": 29, + "class": 0, + "linearIndex": 4134, + "address": "0x74840501b4a3E498ca9077bD3957AF6b4367F88f", + "cellId": "EI-L20-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B29-C0" + }, + { + "lpbca": 20, + "branch": 29, + "class": 1, + "linearIndex": 4135, + "address": "0xe2d996a8Ca5a8090bb6014c3eaB060EA9cE5069C", + "cellId": "EI-L20-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B29-C1" + }, + { + "lpbca": 20, + "branch": 29, + "class": 2, + "linearIndex": 4136, + "address": "0xc17b3Fe844b3Baaa23f51e9c85Ce44192a47c9fe", + "cellId": "EI-L20-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B29-C2" + }, + { + "lpbca": 20, + "branch": 29, + "class": 3, + "linearIndex": 4137, + "address": "0x03b0f94152CC355ff3FC6df84875968d5b4eB819", + "cellId": "EI-L20-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B29-C3" + }, + { + "lpbca": 20, + "branch": 29, + "class": 4, + "linearIndex": 4138, + "address": "0x914673485225227e6CCc24846C6e79ddA7a34186", + "cellId": "EI-L20-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B29-C4" + }, + { + "lpbca": 20, + "branch": 29, + "class": 5, + "linearIndex": 4139, + "address": "0x36B5c4De8A298d6151f110AFC4586dbE9dA48cF3", + "cellId": "EI-L20-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B29-C5" + }, + { + "lpbca": 20, + "branch": 30, + "class": 0, + "linearIndex": 4140, + "address": "0x1b00C4616DDCf2F0914f770C0559532bF43bFFD2", + "cellId": "EI-L20-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B30-C0" + }, + { + "lpbca": 20, + "branch": 30, + "class": 1, + "linearIndex": 4141, + "address": "0x840FB06B29E83bEa27bdd77ca511D9cEA1f0f580", + "cellId": "EI-L20-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B30-C1" + }, + { + "lpbca": 20, + "branch": 30, + "class": 2, + "linearIndex": 4142, + "address": "0x33594B514014789f08D6e1f5589E9F20524E7c28", + "cellId": "EI-L20-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B30-C2" + }, + { + "lpbca": 20, + "branch": 30, + "class": 3, + "linearIndex": 4143, + "address": "0x86d04810874D2BF860FbE967184dC7653506c556", + "cellId": "EI-L20-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B30-C3" + }, + { + "lpbca": 20, + "branch": 30, + "class": 4, + "linearIndex": 4144, + "address": "0x92BFcD04CD66d07F9174A6f67b8372d66bC8208C", + "cellId": "EI-L20-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B30-C4" + }, + { + "lpbca": 20, + "branch": 30, + "class": 5, + "linearIndex": 4145, + "address": "0x184a02318F68554E284f62dA3Ee7ef089813142e", + "cellId": "EI-L20-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B30-C5" + }, + { + "lpbca": 20, + "branch": 31, + "class": 0, + "linearIndex": 4146, + "address": "0x85573FE3557ab4c0D380D29D335774E51d041E0C", + "cellId": "EI-L20-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B31-C0" + }, + { + "lpbca": 20, + "branch": 31, + "class": 1, + "linearIndex": 4147, + "address": "0xf56Baf2A5E406ae4A4D65199Bfa20FbdAEcDB912", + "cellId": "EI-L20-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B31-C1" + }, + { + "lpbca": 20, + "branch": 31, + "class": 2, + "linearIndex": 4148, + "address": "0x4562A74Da274E3111Abb18a2C2C1F8C419734340", + "cellId": "EI-L20-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B31-C2" + }, + { + "lpbca": 20, + "branch": 31, + "class": 3, + "linearIndex": 4149, + "address": "0x2EEC905c91898258675d83d2ADC05D9beb36f9Fd", + "cellId": "EI-L20-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B31-C3" + }, + { + "lpbca": 20, + "branch": 31, + "class": 4, + "linearIndex": 4150, + "address": "0xC013f05e597D65c0259032D3889b0EEEc45331e2", + "cellId": "EI-L20-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B31-C4" + }, + { + "lpbca": 20, + "branch": 31, + "class": 5, + "linearIndex": 4151, + "address": "0x6FeBb77b9f317624047b7a7f415C275eF0b33f66", + "cellId": "EI-L20-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B31-C5" + }, + { + "lpbca": 20, + "branch": 32, + "class": 0, + "linearIndex": 4152, + "address": "0x78daDE663Cd649EE3f2784ABF962413A5A3Fa6DF", + "cellId": "EI-L20-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B32-C0" + }, + { + "lpbca": 20, + "branch": 32, + "class": 1, + "linearIndex": 4153, + "address": "0xc43955627538E5596eEAd164558d14DC61076fd8", + "cellId": "EI-L20-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B32-C1" + }, + { + "lpbca": 20, + "branch": 32, + "class": 2, + "linearIndex": 4154, + "address": "0x82BF11533eeA224aC8547D932b6e08a79c33f8D1", + "cellId": "EI-L20-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B32-C2" + }, + { + "lpbca": 20, + "branch": 32, + "class": 3, + "linearIndex": 4155, + "address": "0x299d27491dE6E940845026913aE97E574f45a23f", + "cellId": "EI-L20-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B32-C3" + }, + { + "lpbca": 20, + "branch": 32, + "class": 4, + "linearIndex": 4156, + "address": "0x4d3b926f73319fCF5cF37ec19164ef1d27090679", + "cellId": "EI-L20-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B32-C4" + }, + { + "lpbca": 20, + "branch": 32, + "class": 5, + "linearIndex": 4157, + "address": "0xd9c15c9113a027dBA49282543612f825Ed9c4Fe9", + "cellId": "EI-L20-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L20-B32-C5" + }, + { + "lpbca": 21, + "branch": 0, + "class": 0, + "linearIndex": 4158, + "address": "0x36FeFcB8EFA4237F5678E1314F68b0652269a136", + "cellId": "EI-L21-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B00-C0" + }, + { + "lpbca": 21, + "branch": 0, + "class": 1, + "linearIndex": 4159, + "address": "0xdD4aEc199D6d7333c358642dAC5451Ff0189879c", + "cellId": "EI-L21-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B00-C1" + }, + { + "lpbca": 21, + "branch": 0, + "class": 2, + "linearIndex": 4160, + "address": "0x5CEBa74745188b13F5FB805c419c7AD3208C4b3b", + "cellId": "EI-L21-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B00-C2" + }, + { + "lpbca": 21, + "branch": 0, + "class": 3, + "linearIndex": 4161, + "address": "0x4181CD45BBD34D5275fB19BBfE114007d791892e", + "cellId": "EI-L21-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B00-C3" + }, + { + "lpbca": 21, + "branch": 0, + "class": 4, + "linearIndex": 4162, + "address": "0x8d135E0050659e792b3Fa392B990a7f2C9bddC9e", + "cellId": "EI-L21-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B00-C4" + }, + { + "lpbca": 21, + "branch": 0, + "class": 5, + "linearIndex": 4163, + "address": "0x7c3F31eda3742fc0823a0b8861A7A88445B27691", + "cellId": "EI-L21-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B00-C5" + }, + { + "lpbca": 21, + "branch": 1, + "class": 0, + "linearIndex": 4164, + "address": "0xE2eE7cB76823fCB5595c92B7E028Db01c65837AE", + "cellId": "EI-L21-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B01-C0" + }, + { + "lpbca": 21, + "branch": 1, + "class": 1, + "linearIndex": 4165, + "address": "0xca0b80c843b55dfd160E2d10b5230DC67c4b2ba5", + "cellId": "EI-L21-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B01-C1" + }, + { + "lpbca": 21, + "branch": 1, + "class": 2, + "linearIndex": 4166, + "address": "0x8B7CaCc7df204938A2f65aD29B35bF09b22d1C41", + "cellId": "EI-L21-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B01-C2" + }, + { + "lpbca": 21, + "branch": 1, + "class": 3, + "linearIndex": 4167, + "address": "0xd82e7a1F245dD92f093457B2ae4866d8B54E022d", + "cellId": "EI-L21-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B01-C3" + }, + { + "lpbca": 21, + "branch": 1, + "class": 4, + "linearIndex": 4168, + "address": "0x703a7014299CdBF655c62943f7B43CBa75695eaf", + "cellId": "EI-L21-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B01-C4" + }, + { + "lpbca": 21, + "branch": 1, + "class": 5, + "linearIndex": 4169, + "address": "0x10C11De9E73d94e4a79fdaC723A55fdbc0D727A2", + "cellId": "EI-L21-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B01-C5" + }, + { + "lpbca": 21, + "branch": 2, + "class": 0, + "linearIndex": 4170, + "address": "0x764645B1ea81EedF8530B9e24018A125C3BF6199", + "cellId": "EI-L21-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B02-C0" + }, + { + "lpbca": 21, + "branch": 2, + "class": 1, + "linearIndex": 4171, + "address": "0x7488Fe7373a691cf350f5E0AD4f1D8B1a84340b4", + "cellId": "EI-L21-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B02-C1" + }, + { + "lpbca": 21, + "branch": 2, + "class": 2, + "linearIndex": 4172, + "address": "0x3fC16D990976065C56865cd7EbA1045973257977", + "cellId": "EI-L21-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B02-C2" + }, + { + "lpbca": 21, + "branch": 2, + "class": 3, + "linearIndex": 4173, + "address": "0x56da633be12608D9da8e46d6b39c1A68BB2a0589", + "cellId": "EI-L21-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B02-C3" + }, + { + "lpbca": 21, + "branch": 2, + "class": 4, + "linearIndex": 4174, + "address": "0x57D18d4C903EA048a1B3B6cD39B8926EbE08C6D6", + "cellId": "EI-L21-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B02-C4" + }, + { + "lpbca": 21, + "branch": 2, + "class": 5, + "linearIndex": 4175, + "address": "0x123bE7D712F838F1599DdBC38aCE85c71C40517E", + "cellId": "EI-L21-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B02-C5" + }, + { + "lpbca": 21, + "branch": 3, + "class": 0, + "linearIndex": 4176, + "address": "0x4A5c99B1E0c811328De6Fbd595978e7a00183729", + "cellId": "EI-L21-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B03-C0" + }, + { + "lpbca": 21, + "branch": 3, + "class": 1, + "linearIndex": 4177, + "address": "0xECd7B7B4e07c95e245FC47777349479cd4E57a8A", + "cellId": "EI-L21-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B03-C1" + }, + { + "lpbca": 21, + "branch": 3, + "class": 2, + "linearIndex": 4178, + "address": "0x1caf7cCE28164a7ef7f27a2549324F6B763F7E01", + "cellId": "EI-L21-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B03-C2" + }, + { + "lpbca": 21, + "branch": 3, + "class": 3, + "linearIndex": 4179, + "address": "0x9507695744e452082A7F6C2e06C3b3BBf9666ae3", + "cellId": "EI-L21-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B03-C3" + }, + { + "lpbca": 21, + "branch": 3, + "class": 4, + "linearIndex": 4180, + "address": "0x7E89618F4515a54A2Dd64159320727fFeeD81473", + "cellId": "EI-L21-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B03-C4" + }, + { + "lpbca": 21, + "branch": 3, + "class": 5, + "linearIndex": 4181, + "address": "0x4D9defb15f7F67D394146D98da1E97F89C2629Cd", + "cellId": "EI-L21-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B03-C5" + }, + { + "lpbca": 21, + "branch": 4, + "class": 0, + "linearIndex": 4182, + "address": "0x0d5bF01bA3daebAf07E90733749E8bC646aBd239", + "cellId": "EI-L21-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B04-C0" + }, + { + "lpbca": 21, + "branch": 4, + "class": 1, + "linearIndex": 4183, + "address": "0xa9e165Ec407595606A882073Cfb8Ff57c5189649", + "cellId": "EI-L21-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B04-C1" + }, + { + "lpbca": 21, + "branch": 4, + "class": 2, + "linearIndex": 4184, + "address": "0x184eB9Eb4B56D0D902AE8FF320738ea304655481", + "cellId": "EI-L21-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B04-C2" + }, + { + "lpbca": 21, + "branch": 4, + "class": 3, + "linearIndex": 4185, + "address": "0x09330648Bc7c7BD90c53902C8F9F78cB4Fb6191f", + "cellId": "EI-L21-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B04-C3" + }, + { + "lpbca": 21, + "branch": 4, + "class": 4, + "linearIndex": 4186, + "address": "0x084E9E47AefaBA987B370120172E0c2529CE13eC", + "cellId": "EI-L21-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B04-C4" + }, + { + "lpbca": 21, + "branch": 4, + "class": 5, + "linearIndex": 4187, + "address": "0x4Fb7d4E685c496b6907E8593F2c63532766635f9", + "cellId": "EI-L21-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B04-C5" + }, + { + "lpbca": 21, + "branch": 5, + "class": 0, + "linearIndex": 4188, + "address": "0xb716546e8EcED739c6E96afF14a1183562b4991b", + "cellId": "EI-L21-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B05-C0" + }, + { + "lpbca": 21, + "branch": 5, + "class": 1, + "linearIndex": 4189, + "address": "0x91351404793098AAeD33D46f021b3a288F50467d", + "cellId": "EI-L21-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B05-C1" + }, + { + "lpbca": 21, + "branch": 5, + "class": 2, + "linearIndex": 4190, + "address": "0xf75Ee5CB10D5756FC9A4117f9d2713554188C46a", + "cellId": "EI-L21-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B05-C2" + }, + { + "lpbca": 21, + "branch": 5, + "class": 3, + "linearIndex": 4191, + "address": "0xa230e5253fC7B5a360287b4DD092fd4Cb41ac6fD", + "cellId": "EI-L21-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B05-C3" + }, + { + "lpbca": 21, + "branch": 5, + "class": 4, + "linearIndex": 4192, + "address": "0x43956915c79AeCA7723F8361FA133e34F1d434B1", + "cellId": "EI-L21-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B05-C4" + }, + { + "lpbca": 21, + "branch": 5, + "class": 5, + "linearIndex": 4193, + "address": "0xa0b59DcD55310282382307e9F190EDDd9b6724d2", + "cellId": "EI-L21-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B05-C5" + }, + { + "lpbca": 21, + "branch": 6, + "class": 0, + "linearIndex": 4194, + "address": "0xcf463b31B24925C2Da855eb915bb774862735Af6", + "cellId": "EI-L21-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B06-C0" + }, + { + "lpbca": 21, + "branch": 6, + "class": 1, + "linearIndex": 4195, + "address": "0x25f408dCFFdf7bED50431a8C7AC70d9663098f5f", + "cellId": "EI-L21-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B06-C1" + }, + { + "lpbca": 21, + "branch": 6, + "class": 2, + "linearIndex": 4196, + "address": "0x84DCda0F4d3c01b377623bb488F4f476292F964e", + "cellId": "EI-L21-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B06-C2" + }, + { + "lpbca": 21, + "branch": 6, + "class": 3, + "linearIndex": 4197, + "address": "0x42B5755fd41B39BAe3c2452daE1d6Fb56C33665a", + "cellId": "EI-L21-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B06-C3" + }, + { + "lpbca": 21, + "branch": 6, + "class": 4, + "linearIndex": 4198, + "address": "0xB250bE19F8c8D10a9446aD55bB4c1a6157F06510", + "cellId": "EI-L21-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B06-C4" + }, + { + "lpbca": 21, + "branch": 6, + "class": 5, + "linearIndex": 4199, + "address": "0x0Ec4Bc89C4cefe88A6748C889C938e0AF0b3C6be", + "cellId": "EI-L21-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B06-C5" + }, + { + "lpbca": 21, + "branch": 7, + "class": 0, + "linearIndex": 4200, + "address": "0x4cCaBE08080A7D7bda7eEDdf1D1320e879555c18", + "cellId": "EI-L21-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B07-C0" + }, + { + "lpbca": 21, + "branch": 7, + "class": 1, + "linearIndex": 4201, + "address": "0xE6E683ba9c94561De6f446B9187CACbAd4fB4e5A", + "cellId": "EI-L21-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B07-C1" + }, + { + "lpbca": 21, + "branch": 7, + "class": 2, + "linearIndex": 4202, + "address": "0xC4939913A01F47321d91856607D0799293B6Ac2E", + "cellId": "EI-L21-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B07-C2" + }, + { + "lpbca": 21, + "branch": 7, + "class": 3, + "linearIndex": 4203, + "address": "0xa2f6667977Ae145Ef50D67fcb0616B5c24B956d3", + "cellId": "EI-L21-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B07-C3" + }, + { + "lpbca": 21, + "branch": 7, + "class": 4, + "linearIndex": 4204, + "address": "0xfe226396aC57977bd50E2F582644EA2B2E529485", + "cellId": "EI-L21-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B07-C4" + }, + { + "lpbca": 21, + "branch": 7, + "class": 5, + "linearIndex": 4205, + "address": "0x58c9066eF1727685063D8345ccA1173C962258fF", + "cellId": "EI-L21-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B07-C5" + }, + { + "lpbca": 21, + "branch": 8, + "class": 0, + "linearIndex": 4206, + "address": "0xC9F5c362343a6ce2459D4A5b9b37e9A0060C377B", + "cellId": "EI-L21-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B08-C0" + }, + { + "lpbca": 21, + "branch": 8, + "class": 1, + "linearIndex": 4207, + "address": "0xC68644722f2dc6078F6ff96aA8f27D8ab6BcDFF0", + "cellId": "EI-L21-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B08-C1" + }, + { + "lpbca": 21, + "branch": 8, + "class": 2, + "linearIndex": 4208, + "address": "0xC87508167B9c67C04b260b07f6BdF277a8fF547F", + "cellId": "EI-L21-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B08-C2" + }, + { + "lpbca": 21, + "branch": 8, + "class": 3, + "linearIndex": 4209, + "address": "0x450B96E881887C2c64c59Bb0D2ceE98A3E12F628", + "cellId": "EI-L21-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B08-C3" + }, + { + "lpbca": 21, + "branch": 8, + "class": 4, + "linearIndex": 4210, + "address": "0x2Da59dA40aE4a3FF162FfdD60DbD6D77f5589339", + "cellId": "EI-L21-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B08-C4" + }, + { + "lpbca": 21, + "branch": 8, + "class": 5, + "linearIndex": 4211, + "address": "0x7c294480CB34Bd021D8904ED87939859a50e2501", + "cellId": "EI-L21-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B08-C5" + }, + { + "lpbca": 21, + "branch": 9, + "class": 0, + "linearIndex": 4212, + "address": "0x8B9d215f4FBD636497f9Fe2Ae359B1e1B07472aE", + "cellId": "EI-L21-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B09-C0" + }, + { + "lpbca": 21, + "branch": 9, + "class": 1, + "linearIndex": 4213, + "address": "0x85C8e32cbF871ca2401A47d018C351626B20e92b", + "cellId": "EI-L21-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B09-C1" + }, + { + "lpbca": 21, + "branch": 9, + "class": 2, + "linearIndex": 4214, + "address": "0x5E3ef2B1b1E2e07abE695DE8998087ABb71478Aa", + "cellId": "EI-L21-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B09-C2" + }, + { + "lpbca": 21, + "branch": 9, + "class": 3, + "linearIndex": 4215, + "address": "0x1964d27452b32E4A1a6bB5EC51448E452811bfa4", + "cellId": "EI-L21-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B09-C3" + }, + { + "lpbca": 21, + "branch": 9, + "class": 4, + "linearIndex": 4216, + "address": "0xb690676419F75dcEF94bBD054373214BDE02D906", + "cellId": "EI-L21-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B09-C4" + }, + { + "lpbca": 21, + "branch": 9, + "class": 5, + "linearIndex": 4217, + "address": "0x518472780673FA75b13C1F6c9c497ad871451f11", + "cellId": "EI-L21-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B09-C5" + }, + { + "lpbca": 21, + "branch": 10, + "class": 0, + "linearIndex": 4218, + "address": "0xf2B1b991639AfEe1507312110f49947a444e248a", + "cellId": "EI-L21-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B10-C0" + }, + { + "lpbca": 21, + "branch": 10, + "class": 1, + "linearIndex": 4219, + "address": "0x620C3555DAf9dDf730eD3D8Acb7141A60B231705", + "cellId": "EI-L21-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B10-C1" + }, + { + "lpbca": 21, + "branch": 10, + "class": 2, + "linearIndex": 4220, + "address": "0x6A9A28A3ce95c46F05c5A3ff11Ba393A22c02E64", + "cellId": "EI-L21-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B10-C2" + }, + { + "lpbca": 21, + "branch": 10, + "class": 3, + "linearIndex": 4221, + "address": "0x844052F75E17A07BA51Ae34a7c76d96139d67AB6", + "cellId": "EI-L21-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B10-C3" + }, + { + "lpbca": 21, + "branch": 10, + "class": 4, + "linearIndex": 4222, + "address": "0x5759ee3F07C9708580933DB85Cb41ef1ef14be86", + "cellId": "EI-L21-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B10-C4" + }, + { + "lpbca": 21, + "branch": 10, + "class": 5, + "linearIndex": 4223, + "address": "0x6A3161e3B7fb6c5178c2F13C24b32E9bf46a1fAA", + "cellId": "EI-L21-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B10-C5" + }, + { + "lpbca": 21, + "branch": 11, + "class": 0, + "linearIndex": 4224, + "address": "0x8af2613bB0baba4B404A9c84c1C25e15153Ed98E", + "cellId": "EI-L21-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B11-C0" + }, + { + "lpbca": 21, + "branch": 11, + "class": 1, + "linearIndex": 4225, + "address": "0x3Af86635ca205cc184859aF5f1b1554DF691336F", + "cellId": "EI-L21-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B11-C1" + }, + { + "lpbca": 21, + "branch": 11, + "class": 2, + "linearIndex": 4226, + "address": "0x44002903c8E3D9d1DBD807d8B97a8fC756488739", + "cellId": "EI-L21-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B11-C2" + }, + { + "lpbca": 21, + "branch": 11, + "class": 3, + "linearIndex": 4227, + "address": "0xA04dBC08233f8563BF48CD1627d5B1172484Fea0", + "cellId": "EI-L21-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B11-C3" + }, + { + "lpbca": 21, + "branch": 11, + "class": 4, + "linearIndex": 4228, + "address": "0x8066a1e109484a543BBa16B850292dab5AaCF6f6", + "cellId": "EI-L21-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B11-C4" + }, + { + "lpbca": 21, + "branch": 11, + "class": 5, + "linearIndex": 4229, + "address": "0x8240b1164DF639e81D589e9045C897e7577fd0CE", + "cellId": "EI-L21-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B11-C5" + }, + { + "lpbca": 21, + "branch": 12, + "class": 0, + "linearIndex": 4230, + "address": "0x0440C1A8F74c93F90e19588E6D6829d6F1a9E9F9", + "cellId": "EI-L21-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B12-C0" + }, + { + "lpbca": 21, + "branch": 12, + "class": 1, + "linearIndex": 4231, + "address": "0xcEEA5adA14c65f204609b1A157F3Fb9c15fD5204", + "cellId": "EI-L21-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B12-C1" + }, + { + "lpbca": 21, + "branch": 12, + "class": 2, + "linearIndex": 4232, + "address": "0x9d8144f6d15F9a74F1Ce176498041fD5fb9Ed581", + "cellId": "EI-L21-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B12-C2" + }, + { + "lpbca": 21, + "branch": 12, + "class": 3, + "linearIndex": 4233, + "address": "0x052dD7B8f447ef631882197a812486E6F3c9969a", + "cellId": "EI-L21-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B12-C3" + }, + { + "lpbca": 21, + "branch": 12, + "class": 4, + "linearIndex": 4234, + "address": "0xA8eb1E53eec233646019e9b790bE1070ce4B4FF9", + "cellId": "EI-L21-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B12-C4" + }, + { + "lpbca": 21, + "branch": 12, + "class": 5, + "linearIndex": 4235, + "address": "0x1D25054C9484F25C3A01992DD31947A727BD1Fae", + "cellId": "EI-L21-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B12-C5" + }, + { + "lpbca": 21, + "branch": 13, + "class": 0, + "linearIndex": 4236, + "address": "0x971B345B4976C35F9a830D2Ef9464397b5bFFD62", + "cellId": "EI-L21-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B13-C0" + }, + { + "lpbca": 21, + "branch": 13, + "class": 1, + "linearIndex": 4237, + "address": "0x6782eC75262e8F9Ed2C0A4dCF31a0e2FE476e3a2", + "cellId": "EI-L21-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B13-C1" + }, + { + "lpbca": 21, + "branch": 13, + "class": 2, + "linearIndex": 4238, + "address": "0x1029a02CA85f0Ed0a87B38794063b86BEC95AB4e", + "cellId": "EI-L21-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B13-C2" + }, + { + "lpbca": 21, + "branch": 13, + "class": 3, + "linearIndex": 4239, + "address": "0xC69cE7b6d49a8D4492cf14d51C14aC155784CE03", + "cellId": "EI-L21-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B13-C3" + }, + { + "lpbca": 21, + "branch": 13, + "class": 4, + "linearIndex": 4240, + "address": "0x41c9817dEA57c97fBED8Be0caf9b5da3c30A3ED5", + "cellId": "EI-L21-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B13-C4" + }, + { + "lpbca": 21, + "branch": 13, + "class": 5, + "linearIndex": 4241, + "address": "0x03bE00ea262a59Ef821E2798195247A2f39E4FF6", + "cellId": "EI-L21-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B13-C5" + }, + { + "lpbca": 21, + "branch": 14, + "class": 0, + "linearIndex": 4242, + "address": "0x28fEFa1E8F3de5d01Cd5356bAe12E3302384a146", + "cellId": "EI-L21-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B14-C0" + }, + { + "lpbca": 21, + "branch": 14, + "class": 1, + "linearIndex": 4243, + "address": "0xc40AEBf6fd51c2A50Db175D418B79Ca9013fF229", + "cellId": "EI-L21-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B14-C1" + }, + { + "lpbca": 21, + "branch": 14, + "class": 2, + "linearIndex": 4244, + "address": "0x24E6514A7f6C5A89615BC5d01096c5D446Ba6CfD", + "cellId": "EI-L21-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B14-C2" + }, + { + "lpbca": 21, + "branch": 14, + "class": 3, + "linearIndex": 4245, + "address": "0xf561537b73A62cbf1D7f41f6f23FE7e931d1bDC1", + "cellId": "EI-L21-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B14-C3" + }, + { + "lpbca": 21, + "branch": 14, + "class": 4, + "linearIndex": 4246, + "address": "0x7D5578abd769785F64863171A87474333C6b1a5B", + "cellId": "EI-L21-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B14-C4" + }, + { + "lpbca": 21, + "branch": 14, + "class": 5, + "linearIndex": 4247, + "address": "0x059Bc163e07245679fD41D2B7C4767a10FAf2b11", + "cellId": "EI-L21-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B14-C5" + }, + { + "lpbca": 21, + "branch": 15, + "class": 0, + "linearIndex": 4248, + "address": "0x67F402C0504ca4c20F711110ae40Dd8ce940998B", + "cellId": "EI-L21-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B15-C0" + }, + { + "lpbca": 21, + "branch": 15, + "class": 1, + "linearIndex": 4249, + "address": "0x6652976b7519E1D2c1A9858C3aF66104EF29110b", + "cellId": "EI-L21-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B15-C1" + }, + { + "lpbca": 21, + "branch": 15, + "class": 2, + "linearIndex": 4250, + "address": "0xfE17Dd20e6D98AEE4906795e0e8610F2F31B6c92", + "cellId": "EI-L21-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B15-C2" + }, + { + "lpbca": 21, + "branch": 15, + "class": 3, + "linearIndex": 4251, + "address": "0xb8DA8617849F4FE16e1bB9955A2906d0b14Fff68", + "cellId": "EI-L21-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B15-C3" + }, + { + "lpbca": 21, + "branch": 15, + "class": 4, + "linearIndex": 4252, + "address": "0x2F409E23a4f0B4473Fa1EC235f7eCc8390d13B63", + "cellId": "EI-L21-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B15-C4" + }, + { + "lpbca": 21, + "branch": 15, + "class": 5, + "linearIndex": 4253, + "address": "0x65F74DEFD072026069Bb68eBA8175b0D845f28Bf", + "cellId": "EI-L21-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B15-C5" + }, + { + "lpbca": 21, + "branch": 16, + "class": 0, + "linearIndex": 4254, + "address": "0x6a241FBeE6231F9086D284446D7f216E6093392C", + "cellId": "EI-L21-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B16-C0" + }, + { + "lpbca": 21, + "branch": 16, + "class": 1, + "linearIndex": 4255, + "address": "0x5e00cFd4Fe522Ab10b511faC96Ca3eEE0621f30c", + "cellId": "EI-L21-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B16-C1" + }, + { + "lpbca": 21, + "branch": 16, + "class": 2, + "linearIndex": 4256, + "address": "0x2e6b770FAD8870D3bc68343DB8f03100c9746E41", + "cellId": "EI-L21-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B16-C2" + }, + { + "lpbca": 21, + "branch": 16, + "class": 3, + "linearIndex": 4257, + "address": "0x7159F5303E36d165398c8386FF43f289F554f875", + "cellId": "EI-L21-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B16-C3" + }, + { + "lpbca": 21, + "branch": 16, + "class": 4, + "linearIndex": 4258, + "address": "0x8CeE4F95D05613177fB95Aa282Ca2273BcB740dA", + "cellId": "EI-L21-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B16-C4" + }, + { + "lpbca": 21, + "branch": 16, + "class": 5, + "linearIndex": 4259, + "address": "0xbCFC876f69F5c12cB10350E21F0b8a97aF277CE1", + "cellId": "EI-L21-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B16-C5" + }, + { + "lpbca": 21, + "branch": 17, + "class": 0, + "linearIndex": 4260, + "address": "0x5e4a853E6368Ad605D99fF1b3b6a79318ED7731A", + "cellId": "EI-L21-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B17-C0" + }, + { + "lpbca": 21, + "branch": 17, + "class": 1, + "linearIndex": 4261, + "address": "0x6eb753D7Ea38A0cEDd2572E21A543411A9da81A7", + "cellId": "EI-L21-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B17-C1" + }, + { + "lpbca": 21, + "branch": 17, + "class": 2, + "linearIndex": 4262, + "address": "0x52fB03372Fd66751c85c0b53827e4786e246066b", + "cellId": "EI-L21-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B17-C2" + }, + { + "lpbca": 21, + "branch": 17, + "class": 3, + "linearIndex": 4263, + "address": "0x7dFC375E65BD209dED4AB29F5062c87484381336", + "cellId": "EI-L21-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B17-C3" + }, + { + "lpbca": 21, + "branch": 17, + "class": 4, + "linearIndex": 4264, + "address": "0xce9c83DcB6FCCf50Ae76306c1ce11D459e3Ae8De", + "cellId": "EI-L21-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B17-C4" + }, + { + "lpbca": 21, + "branch": 17, + "class": 5, + "linearIndex": 4265, + "address": "0xD2c7d6510C1b0fe66BD1EaA4EEfB479b0E378806", + "cellId": "EI-L21-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B17-C5" + }, + { + "lpbca": 21, + "branch": 18, + "class": 0, + "linearIndex": 4266, + "address": "0xE03930B2A40CA6329dCcB6F69953143D8d6b892c", + "cellId": "EI-L21-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B18-C0" + }, + { + "lpbca": 21, + "branch": 18, + "class": 1, + "linearIndex": 4267, + "address": "0x9e47F8E435acc5fE2EC385546e7c8fd114620f0D", + "cellId": "EI-L21-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B18-C1" + }, + { + "lpbca": 21, + "branch": 18, + "class": 2, + "linearIndex": 4268, + "address": "0x5d7C04aD999d744d4aDf1Aa1d9A67ec313A5CE56", + "cellId": "EI-L21-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B18-C2" + }, + { + "lpbca": 21, + "branch": 18, + "class": 3, + "linearIndex": 4269, + "address": "0x6dEe659c6600d0b8cCed43165686F2c3B25b3DCb", + "cellId": "EI-L21-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B18-C3" + }, + { + "lpbca": 21, + "branch": 18, + "class": 4, + "linearIndex": 4270, + "address": "0x7382aF9De0834Ba4b1eeA4867566E0EE3822CE99", + "cellId": "EI-L21-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B18-C4" + }, + { + "lpbca": 21, + "branch": 18, + "class": 5, + "linearIndex": 4271, + "address": "0xe4aD8d4Aeca78745e71818Ce6a2CcC624f8288aF", + "cellId": "EI-L21-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B18-C5" + }, + { + "lpbca": 21, + "branch": 19, + "class": 0, + "linearIndex": 4272, + "address": "0xEe51D7AbB3090EE9b315B042b404dd2EA78ecF87", + "cellId": "EI-L21-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B19-C0" + }, + { + "lpbca": 21, + "branch": 19, + "class": 1, + "linearIndex": 4273, + "address": "0x1E98683389bc2CAc3cefAFf0b3C11261636AAa29", + "cellId": "EI-L21-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B19-C1" + }, + { + "lpbca": 21, + "branch": 19, + "class": 2, + "linearIndex": 4274, + "address": "0x684713491bDa00bF6b59f26A7B280dc21eE60d98", + "cellId": "EI-L21-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B19-C2" + }, + { + "lpbca": 21, + "branch": 19, + "class": 3, + "linearIndex": 4275, + "address": "0x4848C9953F0941ceE736E2Dfd4Bda319BDc68EF2", + "cellId": "EI-L21-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B19-C3" + }, + { + "lpbca": 21, + "branch": 19, + "class": 4, + "linearIndex": 4276, + "address": "0x490869Ff9eb95420c440f1Ca4e8e290C4ff83783", + "cellId": "EI-L21-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B19-C4" + }, + { + "lpbca": 21, + "branch": 19, + "class": 5, + "linearIndex": 4277, + "address": "0x0FF48A73fF8c3d17cc494De649C6741e9F981C03", + "cellId": "EI-L21-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B19-C5" + }, + { + "lpbca": 21, + "branch": 20, + "class": 0, + "linearIndex": 4278, + "address": "0xEDeE28e3F4a434d5ac4C434223299196D5aF9796", + "cellId": "EI-L21-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B20-C0" + }, + { + "lpbca": 21, + "branch": 20, + "class": 1, + "linearIndex": 4279, + "address": "0xaa99dbfb65841Ad3ea3D31013B58C2c8C0843d0b", + "cellId": "EI-L21-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B20-C1" + }, + { + "lpbca": 21, + "branch": 20, + "class": 2, + "linearIndex": 4280, + "address": "0xc1956e55320e99DB800AB89B8Ea34BBea856FB73", + "cellId": "EI-L21-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B20-C2" + }, + { + "lpbca": 21, + "branch": 20, + "class": 3, + "linearIndex": 4281, + "address": "0x0c927848Ac8C40e6E0049734e4185094A6C306fc", + "cellId": "EI-L21-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B20-C3" + }, + { + "lpbca": 21, + "branch": 20, + "class": 4, + "linearIndex": 4282, + "address": "0x542459D10c9FF21c2d515E957949DAec5314699D", + "cellId": "EI-L21-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B20-C4" + }, + { + "lpbca": 21, + "branch": 20, + "class": 5, + "linearIndex": 4283, + "address": "0x9fc7bD993996d0403d87fdc55b62E5d5CaDD5F10", + "cellId": "EI-L21-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B20-C5" + }, + { + "lpbca": 21, + "branch": 21, + "class": 0, + "linearIndex": 4284, + "address": "0x2aD13208F6293456f5C86E527C27d2D0515a0a3D", + "cellId": "EI-L21-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B21-C0" + }, + { + "lpbca": 21, + "branch": 21, + "class": 1, + "linearIndex": 4285, + "address": "0x9F898889c4CA8bE9a4fe02605680e63C9507FF6e", + "cellId": "EI-L21-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B21-C1" + }, + { + "lpbca": 21, + "branch": 21, + "class": 2, + "linearIndex": 4286, + "address": "0x9E61822821D8557a9605E9B3260aFCa167B090A9", + "cellId": "EI-L21-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B21-C2" + }, + { + "lpbca": 21, + "branch": 21, + "class": 3, + "linearIndex": 4287, + "address": "0x994A726DFfE355e62de388D86A18E2C18A4cE35c", + "cellId": "EI-L21-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B21-C3" + }, + { + "lpbca": 21, + "branch": 21, + "class": 4, + "linearIndex": 4288, + "address": "0x404769A85fAcFEb8D024cE20A552125E8A150ccc", + "cellId": "EI-L21-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B21-C4" + }, + { + "lpbca": 21, + "branch": 21, + "class": 5, + "linearIndex": 4289, + "address": "0x6005a6f909c740d7343060B6b4FdF1240d0c56c2", + "cellId": "EI-L21-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B21-C5" + }, + { + "lpbca": 21, + "branch": 22, + "class": 0, + "linearIndex": 4290, + "address": "0x2F8fc5bFFF2ddfC123543115DcE9aD5ae28F9Fe1", + "cellId": "EI-L21-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B22-C0" + }, + { + "lpbca": 21, + "branch": 22, + "class": 1, + "linearIndex": 4291, + "address": "0x058Bfa9C85dF8eaadDCff2c4c29dEDdb3D541196", + "cellId": "EI-L21-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B22-C1" + }, + { + "lpbca": 21, + "branch": 22, + "class": 2, + "linearIndex": 4292, + "address": "0x4eA530915Ce51fbE075Be9dC5d9901aF89d90ffE", + "cellId": "EI-L21-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B22-C2" + }, + { + "lpbca": 21, + "branch": 22, + "class": 3, + "linearIndex": 4293, + "address": "0xbBCd4370B746DE42b3cfa049D002aFDf26c6C5e7", + "cellId": "EI-L21-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B22-C3" + }, + { + "lpbca": 21, + "branch": 22, + "class": 4, + "linearIndex": 4294, + "address": "0x3EB13e59A48bF5315f619496f33aD77ADe90E722", + "cellId": "EI-L21-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B22-C4" + }, + { + "lpbca": 21, + "branch": 22, + "class": 5, + "linearIndex": 4295, + "address": "0xd2850909702c5c49168fAD5Bb4175e34a4D80f1b", + "cellId": "EI-L21-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B22-C5" + }, + { + "lpbca": 21, + "branch": 23, + "class": 0, + "linearIndex": 4296, + "address": "0xA9eA6cb7289A8d6a9Be686Bc6C1CF0b8bDf6b239", + "cellId": "EI-L21-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B23-C0" + }, + { + "lpbca": 21, + "branch": 23, + "class": 1, + "linearIndex": 4297, + "address": "0x32dd4d732CFB0294D0F58F4131FdF68c75dB2C91", + "cellId": "EI-L21-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B23-C1" + }, + { + "lpbca": 21, + "branch": 23, + "class": 2, + "linearIndex": 4298, + "address": "0x69Fc4Df6aF3AC1750Ac8E4BcC9bf9B0efA7bFF72", + "cellId": "EI-L21-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B23-C2" + }, + { + "lpbca": 21, + "branch": 23, + "class": 3, + "linearIndex": 4299, + "address": "0xd36f1Bc8736BA54Cda39890A160956AD0579aCCa", + "cellId": "EI-L21-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B23-C3" + }, + { + "lpbca": 21, + "branch": 23, + "class": 4, + "linearIndex": 4300, + "address": "0xD89cC68ac723bb58551738874D5440A6F6B6D565", + "cellId": "EI-L21-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B23-C4" + }, + { + "lpbca": 21, + "branch": 23, + "class": 5, + "linearIndex": 4301, + "address": "0x2663A80826634Bcbd4C4d761be43ADA8Fe6c261F", + "cellId": "EI-L21-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B23-C5" + }, + { + "lpbca": 21, + "branch": 24, + "class": 0, + "linearIndex": 4302, + "address": "0x37bA7c10F829c27dcE72F809Ed7B222FE6309fC1", + "cellId": "EI-L21-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B24-C0" + }, + { + "lpbca": 21, + "branch": 24, + "class": 1, + "linearIndex": 4303, + "address": "0xeef4fe7e3092e913fa13ACD4e50A294582df9aBd", + "cellId": "EI-L21-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B24-C1" + }, + { + "lpbca": 21, + "branch": 24, + "class": 2, + "linearIndex": 4304, + "address": "0x516C1Bb36E2f2d1c31b882418e5978d490Af1275", + "cellId": "EI-L21-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B24-C2" + }, + { + "lpbca": 21, + "branch": 24, + "class": 3, + "linearIndex": 4305, + "address": "0xf197D50f36F6da80D45840d25e87e999273E930f", + "cellId": "EI-L21-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B24-C3" + }, + { + "lpbca": 21, + "branch": 24, + "class": 4, + "linearIndex": 4306, + "address": "0x8D0Eaa707739149CbDa2C92cc6Af50bfE5a41e05", + "cellId": "EI-L21-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B24-C4" + }, + { + "lpbca": 21, + "branch": 24, + "class": 5, + "linearIndex": 4307, + "address": "0xA024f2Dfdf06Cd437A4F0801F1EBfe7509E14842", + "cellId": "EI-L21-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B24-C5" + }, + { + "lpbca": 21, + "branch": 25, + "class": 0, + "linearIndex": 4308, + "address": "0x39Ea88467c0Cf2d85AE5b31CAc4ddcf1d1BD04dC", + "cellId": "EI-L21-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B25-C0" + }, + { + "lpbca": 21, + "branch": 25, + "class": 1, + "linearIndex": 4309, + "address": "0x21DaaE851982B43f57eCfc4013C7fcd47A851e0e", + "cellId": "EI-L21-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B25-C1" + }, + { + "lpbca": 21, + "branch": 25, + "class": 2, + "linearIndex": 4310, + "address": "0x0f94D2cAad7928B73970B93f8C6Bbc859c0dB836", + "cellId": "EI-L21-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B25-C2" + }, + { + "lpbca": 21, + "branch": 25, + "class": 3, + "linearIndex": 4311, + "address": "0x711dAC2CF82C32c5ADA746486C009e61af918110", + "cellId": "EI-L21-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B25-C3" + }, + { + "lpbca": 21, + "branch": 25, + "class": 4, + "linearIndex": 4312, + "address": "0xdc9526794Ce311BCd489580316055274F80Ab4d2", + "cellId": "EI-L21-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B25-C4" + }, + { + "lpbca": 21, + "branch": 25, + "class": 5, + "linearIndex": 4313, + "address": "0x63062EbdBAda2405c6f0fA157a00c6dD385d7E0d", + "cellId": "EI-L21-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B25-C5" + }, + { + "lpbca": 21, + "branch": 26, + "class": 0, + "linearIndex": 4314, + "address": "0x84820C2d03460d4E4FAb7342C461514E7dd3c990", + "cellId": "EI-L21-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B26-C0" + }, + { + "lpbca": 21, + "branch": 26, + "class": 1, + "linearIndex": 4315, + "address": "0xF440f5B528350D925Cc35f91292CA86B4C0412dC", + "cellId": "EI-L21-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B26-C1" + }, + { + "lpbca": 21, + "branch": 26, + "class": 2, + "linearIndex": 4316, + "address": "0xd351738413c8Ee3c657577b8D3400e42fc46D073", + "cellId": "EI-L21-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B26-C2" + }, + { + "lpbca": 21, + "branch": 26, + "class": 3, + "linearIndex": 4317, + "address": "0x544DfB4af78B0efbb800911b2ec28745FA6D2adA", + "cellId": "EI-L21-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B26-C3" + }, + { + "lpbca": 21, + "branch": 26, + "class": 4, + "linearIndex": 4318, + "address": "0x51dF2b43A2c2aEB83Ba558637acD87d6d7a64B3F", + "cellId": "EI-L21-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B26-C4" + }, + { + "lpbca": 21, + "branch": 26, + "class": 5, + "linearIndex": 4319, + "address": "0xC9b8ba2fC97b1A9C8cD18ecc2f7056ba5b6aacB8", + "cellId": "EI-L21-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B26-C5" + }, + { + "lpbca": 21, + "branch": 27, + "class": 0, + "linearIndex": 4320, + "address": "0x94f69dc3b9d554dF808563d87D3c317ee103F8d6", + "cellId": "EI-L21-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B27-C0" + }, + { + "lpbca": 21, + "branch": 27, + "class": 1, + "linearIndex": 4321, + "address": "0x41Af23405658745e68C1e48B4B5F229c426beD22", + "cellId": "EI-L21-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B27-C1" + }, + { + "lpbca": 21, + "branch": 27, + "class": 2, + "linearIndex": 4322, + "address": "0x153B47F414F8C49a90C4B8F0c64b6c1ebE1b86dC", + "cellId": "EI-L21-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B27-C2" + }, + { + "lpbca": 21, + "branch": 27, + "class": 3, + "linearIndex": 4323, + "address": "0xB38c4b7cB27eAf23F023Ea01e2E893198F7b83b5", + "cellId": "EI-L21-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B27-C3" + }, + { + "lpbca": 21, + "branch": 27, + "class": 4, + "linearIndex": 4324, + "address": "0xcC3243f2fFF1CbD5ab5046288817dcDe455c9cE3", + "cellId": "EI-L21-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B27-C4" + }, + { + "lpbca": 21, + "branch": 27, + "class": 5, + "linearIndex": 4325, + "address": "0xC15d4A5E3b1197EBCaae8f7653b14D6cCF0c0d1e", + "cellId": "EI-L21-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B27-C5" + }, + { + "lpbca": 21, + "branch": 28, + "class": 0, + "linearIndex": 4326, + "address": "0x25E9f064C90966825e38cA2A34430bc85b012FBB", + "cellId": "EI-L21-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B28-C0" + }, + { + "lpbca": 21, + "branch": 28, + "class": 1, + "linearIndex": 4327, + "address": "0xAf61Fd9E42be22244EE44bB98F7F845A8CE69d6B", + "cellId": "EI-L21-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B28-C1" + }, + { + "lpbca": 21, + "branch": 28, + "class": 2, + "linearIndex": 4328, + "address": "0x8045aC094A6bd144652F8049F1Ae727c29fca5E3", + "cellId": "EI-L21-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B28-C2" + }, + { + "lpbca": 21, + "branch": 28, + "class": 3, + "linearIndex": 4329, + "address": "0xc4714c55f211FDBbe62F953FdCcaF55d71050EdA", + "cellId": "EI-L21-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B28-C3" + }, + { + "lpbca": 21, + "branch": 28, + "class": 4, + "linearIndex": 4330, + "address": "0x4ebf68A8A40680a9daB75d7172Bd062a638bd945", + "cellId": "EI-L21-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B28-C4" + }, + { + "lpbca": 21, + "branch": 28, + "class": 5, + "linearIndex": 4331, + "address": "0xBB18FEc96797a7eD730ab2bc6B2c3bd05DE97bED", + "cellId": "EI-L21-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B28-C5" + }, + { + "lpbca": 21, + "branch": 29, + "class": 0, + "linearIndex": 4332, + "address": "0x6C15f168D37C8cdDFf8F68d4c490dac85d3e5680", + "cellId": "EI-L21-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B29-C0" + }, + { + "lpbca": 21, + "branch": 29, + "class": 1, + "linearIndex": 4333, + "address": "0x1a5Fb6812cED161134F07D1A069c0475f58126F1", + "cellId": "EI-L21-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B29-C1" + }, + { + "lpbca": 21, + "branch": 29, + "class": 2, + "linearIndex": 4334, + "address": "0xedF1953d297572D394042e8D786bBce04D3FFE46", + "cellId": "EI-L21-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B29-C2" + }, + { + "lpbca": 21, + "branch": 29, + "class": 3, + "linearIndex": 4335, + "address": "0xcB012F60e54990BA837F410d9E3FA1845245B716", + "cellId": "EI-L21-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B29-C3" + }, + { + "lpbca": 21, + "branch": 29, + "class": 4, + "linearIndex": 4336, + "address": "0x1d8c8e19786b5e3Ee8470803063c2725C99869B0", + "cellId": "EI-L21-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B29-C4" + }, + { + "lpbca": 21, + "branch": 29, + "class": 5, + "linearIndex": 4337, + "address": "0x822ad68FB5B3c96cD8cF457Df36c7A31BC50DF6F", + "cellId": "EI-L21-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B29-C5" + }, + { + "lpbca": 21, + "branch": 30, + "class": 0, + "linearIndex": 4338, + "address": "0x88A237247da302B437eEC021BDcA38e7005f2440", + "cellId": "EI-L21-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B30-C0" + }, + { + "lpbca": 21, + "branch": 30, + "class": 1, + "linearIndex": 4339, + "address": "0xe7E8Be11eF0af7333B45E577eE882945f2cbc433", + "cellId": "EI-L21-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B30-C1" + }, + { + "lpbca": 21, + "branch": 30, + "class": 2, + "linearIndex": 4340, + "address": "0xc8410A89F0e3c62d79Cbc8e699c455561E722878", + "cellId": "EI-L21-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B30-C2" + }, + { + "lpbca": 21, + "branch": 30, + "class": 3, + "linearIndex": 4341, + "address": "0xC71a8f91E5D169274524059dE0c33D82C39387a3", + "cellId": "EI-L21-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B30-C3" + }, + { + "lpbca": 21, + "branch": 30, + "class": 4, + "linearIndex": 4342, + "address": "0x2612dA542103934dF4F06281155b9dE8Bdc101A5", + "cellId": "EI-L21-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B30-C4" + }, + { + "lpbca": 21, + "branch": 30, + "class": 5, + "linearIndex": 4343, + "address": "0x14F8b22a088C7D3b123A2CbFD36f9eB53Fe093dD", + "cellId": "EI-L21-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B30-C5" + }, + { + "lpbca": 21, + "branch": 31, + "class": 0, + "linearIndex": 4344, + "address": "0xCb53053122C082dA3460361443f38d014c6a2108", + "cellId": "EI-L21-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B31-C0" + }, + { + "lpbca": 21, + "branch": 31, + "class": 1, + "linearIndex": 4345, + "address": "0xdCbDC239Fe13792CE81C9570D91224feC1384f9e", + "cellId": "EI-L21-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B31-C1" + }, + { + "lpbca": 21, + "branch": 31, + "class": 2, + "linearIndex": 4346, + "address": "0x450C221664b422cbC9A12cC671e220971B6a5711", + "cellId": "EI-L21-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B31-C2" + }, + { + "lpbca": 21, + "branch": 31, + "class": 3, + "linearIndex": 4347, + "address": "0x3Da6b5e2194cd28E34e4378580B9Ad87c62C843c", + "cellId": "EI-L21-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B31-C3" + }, + { + "lpbca": 21, + "branch": 31, + "class": 4, + "linearIndex": 4348, + "address": "0x3E6ef68Efc301C50247B8abef3e4EB09f5f91D7b", + "cellId": "EI-L21-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B31-C4" + }, + { + "lpbca": 21, + "branch": 31, + "class": 5, + "linearIndex": 4349, + "address": "0x2e850c1cfAc2eeF84e0B56F3067bc4fDF66D8e60", + "cellId": "EI-L21-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B31-C5" + }, + { + "lpbca": 21, + "branch": 32, + "class": 0, + "linearIndex": 4350, + "address": "0x4Cab3cF106474387f86fbcfF6C2ad996B2b0Ae81", + "cellId": "EI-L21-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B32-C0" + }, + { + "lpbca": 21, + "branch": 32, + "class": 1, + "linearIndex": 4351, + "address": "0x20bce447bf5e3a253212d051A014D14AC784E371", + "cellId": "EI-L21-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B32-C1" + }, + { + "lpbca": 21, + "branch": 32, + "class": 2, + "linearIndex": 4352, + "address": "0x80c8F224a813a7227D1645f000AB92E8bCD499E4", + "cellId": "EI-L21-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B32-C2" + }, + { + "lpbca": 21, + "branch": 32, + "class": 3, + "linearIndex": 4353, + "address": "0xC8243975C787BcD993E080149b7CDBB683FF1Ec1", + "cellId": "EI-L21-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B32-C3" + }, + { + "lpbca": 21, + "branch": 32, + "class": 4, + "linearIndex": 4354, + "address": "0x70F0bce5Cc1FCC5eDdA79E3C1aaEF8624a912a38", + "cellId": "EI-L21-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B32-C4" + }, + { + "lpbca": 21, + "branch": 32, + "class": 5, + "linearIndex": 4355, + "address": "0xe68C15D9876854Bfa387c86B2e85147E69944Cc2", + "cellId": "EI-L21-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L21-B32-C5" + }, + { + "lpbca": 22, + "branch": 0, + "class": 0, + "linearIndex": 4356, + "address": "0x5CCaDF77bF4c06cE8B33E37F0d5c6828A6CC2eFE", + "cellId": "EI-L22-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B00-C0" + }, + { + "lpbca": 22, + "branch": 0, + "class": 1, + "linearIndex": 4357, + "address": "0x01990fCF3DB48592Bc36597D0459AC84a9B9ac1a", + "cellId": "EI-L22-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B00-C1" + }, + { + "lpbca": 22, + "branch": 0, + "class": 2, + "linearIndex": 4358, + "address": "0x41ea58F9CE6750379A78E951681EE1726eA24F68", + "cellId": "EI-L22-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B00-C2" + }, + { + "lpbca": 22, + "branch": 0, + "class": 3, + "linearIndex": 4359, + "address": "0x7B320Dc05AA0a4E6f8e2Be2B404ee4FDEadAdf3E", + "cellId": "EI-L22-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B00-C3" + }, + { + "lpbca": 22, + "branch": 0, + "class": 4, + "linearIndex": 4360, + "address": "0x4ebA9B4aC363Ec2C66C1BbAdBDfd8Ee79C0cbF1A", + "cellId": "EI-L22-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B00-C4" + }, + { + "lpbca": 22, + "branch": 0, + "class": 5, + "linearIndex": 4361, + "address": "0x1B1fdd4A2e56Ca2948CF6ed89977f1a0e27f9b8B", + "cellId": "EI-L22-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B00-C5" + }, + { + "lpbca": 22, + "branch": 1, + "class": 0, + "linearIndex": 4362, + "address": "0xdc7D7C073C8921765BAAF36750a829e19C9Af0b7", + "cellId": "EI-L22-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B01-C0" + }, + { + "lpbca": 22, + "branch": 1, + "class": 1, + "linearIndex": 4363, + "address": "0x9B7E6b1F3448C9b0133a530DBdC525Fb53596736", + "cellId": "EI-L22-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B01-C1" + }, + { + "lpbca": 22, + "branch": 1, + "class": 2, + "linearIndex": 4364, + "address": "0x9Ef3b59Eb31F6d987dF59ACC492A350607290e91", + "cellId": "EI-L22-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B01-C2" + }, + { + "lpbca": 22, + "branch": 1, + "class": 3, + "linearIndex": 4365, + "address": "0x6a378f1fF7a52A288Cf943b6ef90a78F11137411", + "cellId": "EI-L22-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B01-C3" + }, + { + "lpbca": 22, + "branch": 1, + "class": 4, + "linearIndex": 4366, + "address": "0x2641a5B0B9F26676fbC668E9A9650F26054a673a", + "cellId": "EI-L22-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B01-C4" + }, + { + "lpbca": 22, + "branch": 1, + "class": 5, + "linearIndex": 4367, + "address": "0x60D1C1D7c102306A0DAACF54ffdf866ac2561f57", + "cellId": "EI-L22-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B01-C5" + }, + { + "lpbca": 22, + "branch": 2, + "class": 0, + "linearIndex": 4368, + "address": "0x9b84D8B7724118d5CD76BC77e913921753a39519", + "cellId": "EI-L22-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B02-C0" + }, + { + "lpbca": 22, + "branch": 2, + "class": 1, + "linearIndex": 4369, + "address": "0x671b075cF9Db311a23c49088E4098115DEbF618F", + "cellId": "EI-L22-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B02-C1" + }, + { + "lpbca": 22, + "branch": 2, + "class": 2, + "linearIndex": 4370, + "address": "0x955e18Cb56eA623E714D233498D16851AE49e726", + "cellId": "EI-L22-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B02-C2" + }, + { + "lpbca": 22, + "branch": 2, + "class": 3, + "linearIndex": 4371, + "address": "0xc0eF33A5F56555aB0F7fA1a208A371a09Bda89d6", + "cellId": "EI-L22-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B02-C3" + }, + { + "lpbca": 22, + "branch": 2, + "class": 4, + "linearIndex": 4372, + "address": "0x1C2318d00029e89c6aa89ee4B6dd97fC637C06D7", + "cellId": "EI-L22-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B02-C4" + }, + { + "lpbca": 22, + "branch": 2, + "class": 5, + "linearIndex": 4373, + "address": "0x3af323063BDAE5074ab00b5310659DEb7DAA2c08", + "cellId": "EI-L22-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B02-C5" + }, + { + "lpbca": 22, + "branch": 3, + "class": 0, + "linearIndex": 4374, + "address": "0x25035A3928BCFb321F3B6b094519048725F37385", + "cellId": "EI-L22-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B03-C0" + }, + { + "lpbca": 22, + "branch": 3, + "class": 1, + "linearIndex": 4375, + "address": "0x08eDa711fae537092498E66714208608E9fFfbDe", + "cellId": "EI-L22-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B03-C1" + }, + { + "lpbca": 22, + "branch": 3, + "class": 2, + "linearIndex": 4376, + "address": "0x64FA4f94E3d68d0ccFAfC9f503fCa02D1C2E7294", + "cellId": "EI-L22-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B03-C2" + }, + { + "lpbca": 22, + "branch": 3, + "class": 3, + "linearIndex": 4377, + "address": "0x3579722861dF5700E45111f3f2D6928c5385C58b", + "cellId": "EI-L22-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B03-C3" + }, + { + "lpbca": 22, + "branch": 3, + "class": 4, + "linearIndex": 4378, + "address": "0x13deF2642cd71fe1AFb38Ee4331ca370E98b4560", + "cellId": "EI-L22-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B03-C4" + }, + { + "lpbca": 22, + "branch": 3, + "class": 5, + "linearIndex": 4379, + "address": "0x7dEa707fFB827060600e99fa359c6691e3DF0c8F", + "cellId": "EI-L22-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B03-C5" + }, + { + "lpbca": 22, + "branch": 4, + "class": 0, + "linearIndex": 4380, + "address": "0xd38f286baC46E02De45aaA977C5e373230B022e5", + "cellId": "EI-L22-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B04-C0" + }, + { + "lpbca": 22, + "branch": 4, + "class": 1, + "linearIndex": 4381, + "address": "0x054d22578109A6F84C5BeDa0b320D6c0d3eC1A81", + "cellId": "EI-L22-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B04-C1" + }, + { + "lpbca": 22, + "branch": 4, + "class": 2, + "linearIndex": 4382, + "address": "0xBFd34135e5c3ecFFF49653950e511a7f0DfEdDCD", + "cellId": "EI-L22-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B04-C2" + }, + { + "lpbca": 22, + "branch": 4, + "class": 3, + "linearIndex": 4383, + "address": "0xc70FCdc31b0E7E2FF0cAde797a8BD6250441B2db", + "cellId": "EI-L22-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B04-C3" + }, + { + "lpbca": 22, + "branch": 4, + "class": 4, + "linearIndex": 4384, + "address": "0x900968743bBc4266f634107ac68fE2a516Ea4216", + "cellId": "EI-L22-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B04-C4" + }, + { + "lpbca": 22, + "branch": 4, + "class": 5, + "linearIndex": 4385, + "address": "0x402bF401e8f58c01f19Dbd6811Ac3A455bC7e02b", + "cellId": "EI-L22-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B04-C5" + }, + { + "lpbca": 22, + "branch": 5, + "class": 0, + "linearIndex": 4386, + "address": "0x42b3a4CCFA413189a92B45918327D7d249dC33dd", + "cellId": "EI-L22-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B05-C0" + }, + { + "lpbca": 22, + "branch": 5, + "class": 1, + "linearIndex": 4387, + "address": "0xD676E8aA4075A3bFd756BDEAc071F8B6fd6F495d", + "cellId": "EI-L22-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B05-C1" + }, + { + "lpbca": 22, + "branch": 5, + "class": 2, + "linearIndex": 4388, + "address": "0xaC434eF72D4e12F104027eC1D57891F93D2A2629", + "cellId": "EI-L22-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B05-C2" + }, + { + "lpbca": 22, + "branch": 5, + "class": 3, + "linearIndex": 4389, + "address": "0xF0Eb957a19C186ed9bD496B31b9f784eC4a2a04D", + "cellId": "EI-L22-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B05-C3" + }, + { + "lpbca": 22, + "branch": 5, + "class": 4, + "linearIndex": 4390, + "address": "0xA3Bec405FEb82fB5FeEa786E0bAdB63c5BF37230", + "cellId": "EI-L22-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B05-C4" + }, + { + "lpbca": 22, + "branch": 5, + "class": 5, + "linearIndex": 4391, + "address": "0xb7B0FCF92A27c0d4b08ACd467D06C8caD4fAfBd1", + "cellId": "EI-L22-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B05-C5" + }, + { + "lpbca": 22, + "branch": 6, + "class": 0, + "linearIndex": 4392, + "address": "0x4DD95D5d35e0bacdA928Ffa92962c12FFe6d9972", + "cellId": "EI-L22-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B06-C0" + }, + { + "lpbca": 22, + "branch": 6, + "class": 1, + "linearIndex": 4393, + "address": "0x593d015a4E011807F11A39f8AF494cC09c3556dc", + "cellId": "EI-L22-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B06-C1" + }, + { + "lpbca": 22, + "branch": 6, + "class": 2, + "linearIndex": 4394, + "address": "0xf0f345bE3B878Bb0Ae0C7ccc9a34Ec3EcfAF5bf2", + "cellId": "EI-L22-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B06-C2" + }, + { + "lpbca": 22, + "branch": 6, + "class": 3, + "linearIndex": 4395, + "address": "0x99F06694c623588Ade6E33e04Aca1249B46A6c9F", + "cellId": "EI-L22-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B06-C3" + }, + { + "lpbca": 22, + "branch": 6, + "class": 4, + "linearIndex": 4396, + "address": "0x99635d78c056D4169Ff77b0aFDcDB6c091cd724f", + "cellId": "EI-L22-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B06-C4" + }, + { + "lpbca": 22, + "branch": 6, + "class": 5, + "linearIndex": 4397, + "address": "0xF653354406631Aa5E7C301979e44C42Bcd244cc1", + "cellId": "EI-L22-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B06-C5" + }, + { + "lpbca": 22, + "branch": 7, + "class": 0, + "linearIndex": 4398, + "address": "0xd0efF15C099A5639117161DA2D844a327C821153", + "cellId": "EI-L22-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B07-C0" + }, + { + "lpbca": 22, + "branch": 7, + "class": 1, + "linearIndex": 4399, + "address": "0xe2B8F33D8F94291fe325b1BCa82877F7F3c332f0", + "cellId": "EI-L22-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B07-C1" + }, + { + "lpbca": 22, + "branch": 7, + "class": 2, + "linearIndex": 4400, + "address": "0x5D3e46621c45f6C18A5373339e8D88189FD13Bfa", + "cellId": "EI-L22-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B07-C2" + }, + { + "lpbca": 22, + "branch": 7, + "class": 3, + "linearIndex": 4401, + "address": "0x3E93767A71524e949F0460CCfc4535008fd32AC6", + "cellId": "EI-L22-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B07-C3" + }, + { + "lpbca": 22, + "branch": 7, + "class": 4, + "linearIndex": 4402, + "address": "0x73784f48D239bE3f18C18093f25Bc68BC4Cc895E", + "cellId": "EI-L22-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B07-C4" + }, + { + "lpbca": 22, + "branch": 7, + "class": 5, + "linearIndex": 4403, + "address": "0xc8b4d54b73332E7717A9D475F20a543835906636", + "cellId": "EI-L22-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B07-C5" + }, + { + "lpbca": 22, + "branch": 8, + "class": 0, + "linearIndex": 4404, + "address": "0x5B7B3aEFC1b067dDB7dE38BF74A2DA7945a33EA3", + "cellId": "EI-L22-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B08-C0" + }, + { + "lpbca": 22, + "branch": 8, + "class": 1, + "linearIndex": 4405, + "address": "0x220c1e70107eeab6321c3f3C9ca80b350C115eC5", + "cellId": "EI-L22-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B08-C1" + }, + { + "lpbca": 22, + "branch": 8, + "class": 2, + "linearIndex": 4406, + "address": "0x03157BC6b7EF52935E5d1f7cf231711cb712F273", + "cellId": "EI-L22-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B08-C2" + }, + { + "lpbca": 22, + "branch": 8, + "class": 3, + "linearIndex": 4407, + "address": "0x6ec2097b67C90d31a8BB1C5072adC93e75a818ee", + "cellId": "EI-L22-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B08-C3" + }, + { + "lpbca": 22, + "branch": 8, + "class": 4, + "linearIndex": 4408, + "address": "0x4DdE8fdbE5F0322306FF4f53D00eb4eE1A76601B", + "cellId": "EI-L22-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B08-C4" + }, + { + "lpbca": 22, + "branch": 8, + "class": 5, + "linearIndex": 4409, + "address": "0x58eFa4E1e79BCaB49cCA1f86C4f0d48edD4bc661", + "cellId": "EI-L22-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B08-C5" + }, + { + "lpbca": 22, + "branch": 9, + "class": 0, + "linearIndex": 4410, + "address": "0xC553C84488bc0D2B40BAd07168Fc0bE517Bee90b", + "cellId": "EI-L22-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B09-C0" + }, + { + "lpbca": 22, + "branch": 9, + "class": 1, + "linearIndex": 4411, + "address": "0xA968a23A32CFF2BdDa083c9AfbBb759A0aAd23A6", + "cellId": "EI-L22-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B09-C1" + }, + { + "lpbca": 22, + "branch": 9, + "class": 2, + "linearIndex": 4412, + "address": "0xA1eAb86D956D30afF152FB0aB9AC65Faefa15B15", + "cellId": "EI-L22-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B09-C2" + }, + { + "lpbca": 22, + "branch": 9, + "class": 3, + "linearIndex": 4413, + "address": "0xFF9D368D5aBb3c51994271E7Fa72fE2E23d9aa18", + "cellId": "EI-L22-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B09-C3" + }, + { + "lpbca": 22, + "branch": 9, + "class": 4, + "linearIndex": 4414, + "address": "0x0D75fD5e80B80e2D8604D44F37a5c3Ec6AfB1652", + "cellId": "EI-L22-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B09-C4" + }, + { + "lpbca": 22, + "branch": 9, + "class": 5, + "linearIndex": 4415, + "address": "0x9E61B98A6350Dc1059ABb6e0E92E2D0298149788", + "cellId": "EI-L22-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B09-C5" + }, + { + "lpbca": 22, + "branch": 10, + "class": 0, + "linearIndex": 4416, + "address": "0x2e1444fE024A173D4F7cB3C124A6ecD5f9Bc6651", + "cellId": "EI-L22-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B10-C0" + }, + { + "lpbca": 22, + "branch": 10, + "class": 1, + "linearIndex": 4417, + "address": "0x79ED175E0314856f1F56eCD665054ed3a260cDBa", + "cellId": "EI-L22-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B10-C1" + }, + { + "lpbca": 22, + "branch": 10, + "class": 2, + "linearIndex": 4418, + "address": "0x4AB023548BD0A6dbd525b12b4C6Ffe6D086B3cd1", + "cellId": "EI-L22-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B10-C2" + }, + { + "lpbca": 22, + "branch": 10, + "class": 3, + "linearIndex": 4419, + "address": "0x93768D8DD2aeE144FDa486F51d38ceeFE6ac421e", + "cellId": "EI-L22-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B10-C3" + }, + { + "lpbca": 22, + "branch": 10, + "class": 4, + "linearIndex": 4420, + "address": "0xBe3dFa0E578eF34C257B3357804df9D7Ff097B4b", + "cellId": "EI-L22-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B10-C4" + }, + { + "lpbca": 22, + "branch": 10, + "class": 5, + "linearIndex": 4421, + "address": "0x4C8980717f359741a0A1ab1a85BCd01451EC6935", + "cellId": "EI-L22-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B10-C5" + }, + { + "lpbca": 22, + "branch": 11, + "class": 0, + "linearIndex": 4422, + "address": "0x78F7006C051eB3173586239A83acAeedbBAcc7e7", + "cellId": "EI-L22-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B11-C0" + }, + { + "lpbca": 22, + "branch": 11, + "class": 1, + "linearIndex": 4423, + "address": "0xf5c296F72b58C3F2767B16F9dA13f8190A575795", + "cellId": "EI-L22-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B11-C1" + }, + { + "lpbca": 22, + "branch": 11, + "class": 2, + "linearIndex": 4424, + "address": "0x49A1EE286B6672117caAbB05d961A856956E77a8", + "cellId": "EI-L22-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B11-C2" + }, + { + "lpbca": 22, + "branch": 11, + "class": 3, + "linearIndex": 4425, + "address": "0xa8FE7fcA09009F9D5De9CFaB89450813127f9b02", + "cellId": "EI-L22-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B11-C3" + }, + { + "lpbca": 22, + "branch": 11, + "class": 4, + "linearIndex": 4426, + "address": "0x5B4AD4De9C3CF99dF2a37A7389e34eCaA2C7D55f", + "cellId": "EI-L22-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B11-C4" + }, + { + "lpbca": 22, + "branch": 11, + "class": 5, + "linearIndex": 4427, + "address": "0x6F3629fF412c450600a81f92c3c89a37bac8Df10", + "cellId": "EI-L22-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B11-C5" + }, + { + "lpbca": 22, + "branch": 12, + "class": 0, + "linearIndex": 4428, + "address": "0xC8e724B76899EDdE2B56D66673fb95a4a0D0c95D", + "cellId": "EI-L22-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B12-C0" + }, + { + "lpbca": 22, + "branch": 12, + "class": 1, + "linearIndex": 4429, + "address": "0xAE1c7b8fFae3FA91A915bCBF70d57386a4Ea32a0", + "cellId": "EI-L22-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B12-C1" + }, + { + "lpbca": 22, + "branch": 12, + "class": 2, + "linearIndex": 4430, + "address": "0xF9e402a95772BCBaff1198049227088d650a752D", + "cellId": "EI-L22-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B12-C2" + }, + { + "lpbca": 22, + "branch": 12, + "class": 3, + "linearIndex": 4431, + "address": "0x7C26dd1783d10bf718985dbD0fbcb36a993aEDA7", + "cellId": "EI-L22-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B12-C3" + }, + { + "lpbca": 22, + "branch": 12, + "class": 4, + "linearIndex": 4432, + "address": "0xe0cc51287ff33f6c9FbAC139721EDb76C6768e05", + "cellId": "EI-L22-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B12-C4" + }, + { + "lpbca": 22, + "branch": 12, + "class": 5, + "linearIndex": 4433, + "address": "0xe188327a64aebC177538166F14Ab1Bc4968DE8c0", + "cellId": "EI-L22-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B12-C5" + }, + { + "lpbca": 22, + "branch": 13, + "class": 0, + "linearIndex": 4434, + "address": "0x22863c32186AE35b8f3F53bB5ce2f592241De85b", + "cellId": "EI-L22-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B13-C0" + }, + { + "lpbca": 22, + "branch": 13, + "class": 1, + "linearIndex": 4435, + "address": "0xc2e1bD878CE6CeE7083ef042Ad6A91a47a51f699", + "cellId": "EI-L22-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B13-C1" + }, + { + "lpbca": 22, + "branch": 13, + "class": 2, + "linearIndex": 4436, + "address": "0x3aB02e67EA819C0ba2AB708a262E0Ee3E2745977", + "cellId": "EI-L22-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B13-C2" + }, + { + "lpbca": 22, + "branch": 13, + "class": 3, + "linearIndex": 4437, + "address": "0xAAe0Ef402659531EC472ca7dfAd8B654D111253d", + "cellId": "EI-L22-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B13-C3" + }, + { + "lpbca": 22, + "branch": 13, + "class": 4, + "linearIndex": 4438, + "address": "0x73cBE5A840306abB2918857191eED16EfE175515", + "cellId": "EI-L22-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B13-C4" + }, + { + "lpbca": 22, + "branch": 13, + "class": 5, + "linearIndex": 4439, + "address": "0xC10ab05Dfa31AF7b76E7D1344F38DBD1166d05AF", + "cellId": "EI-L22-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B13-C5" + }, + { + "lpbca": 22, + "branch": 14, + "class": 0, + "linearIndex": 4440, + "address": "0xB7613Aa25E3974576f2623308F0b57892999828F", + "cellId": "EI-L22-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B14-C0" + }, + { + "lpbca": 22, + "branch": 14, + "class": 1, + "linearIndex": 4441, + "address": "0x55Ea7451C5A9F8cE96704C23aa5FB5c86522AD30", + "cellId": "EI-L22-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B14-C1" + }, + { + "lpbca": 22, + "branch": 14, + "class": 2, + "linearIndex": 4442, + "address": "0xB97479cFb4D7e1a8ad8798287b349b30Ad0768FF", + "cellId": "EI-L22-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B14-C2" + }, + { + "lpbca": 22, + "branch": 14, + "class": 3, + "linearIndex": 4443, + "address": "0x10DFc547fF5A3a912C826A39c886Ed3af230468f", + "cellId": "EI-L22-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B14-C3" + }, + { + "lpbca": 22, + "branch": 14, + "class": 4, + "linearIndex": 4444, + "address": "0xB34feFa4719a713Ac72971AC7F5e9da5f3f499c5", + "cellId": "EI-L22-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B14-C4" + }, + { + "lpbca": 22, + "branch": 14, + "class": 5, + "linearIndex": 4445, + "address": "0x897AC2526676Ea283Bd3Ab5eCe91C1bcae2E071D", + "cellId": "EI-L22-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B14-C5" + }, + { + "lpbca": 22, + "branch": 15, + "class": 0, + "linearIndex": 4446, + "address": "0xec6ffe0af2f6f453EE58F82Ac404B2f5B5b2C9A1", + "cellId": "EI-L22-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B15-C0" + }, + { + "lpbca": 22, + "branch": 15, + "class": 1, + "linearIndex": 4447, + "address": "0x70Da17465dF9ef30A2c98aA173Bfb4eacaB9E2A2", + "cellId": "EI-L22-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B15-C1" + }, + { + "lpbca": 22, + "branch": 15, + "class": 2, + "linearIndex": 4448, + "address": "0x3dB25a1c14A2D4F7e97B12a8D85A7518c952270a", + "cellId": "EI-L22-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B15-C2" + }, + { + "lpbca": 22, + "branch": 15, + "class": 3, + "linearIndex": 4449, + "address": "0xD036c2213232e8745A84110EE21f509c751dc247", + "cellId": "EI-L22-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B15-C3" + }, + { + "lpbca": 22, + "branch": 15, + "class": 4, + "linearIndex": 4450, + "address": "0xf31be5360E4b6CAcDF0A2C983c6aFF807EFB0a0E", + "cellId": "EI-L22-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B15-C4" + }, + { + "lpbca": 22, + "branch": 15, + "class": 5, + "linearIndex": 4451, + "address": "0x17F2642FFFD738e532f6511feE3c3c2cF821f1e9", + "cellId": "EI-L22-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B15-C5" + }, + { + "lpbca": 22, + "branch": 16, + "class": 0, + "linearIndex": 4452, + "address": "0xaE6320AD47D7E075Ce8a021f6dC68894f53AcF13", + "cellId": "EI-L22-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B16-C0" + }, + { + "lpbca": 22, + "branch": 16, + "class": 1, + "linearIndex": 4453, + "address": "0x1C63Fe69D979AeFA9B48a0Ede847d1C20f3aEE70", + "cellId": "EI-L22-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B16-C1" + }, + { + "lpbca": 22, + "branch": 16, + "class": 2, + "linearIndex": 4454, + "address": "0xD98D478D3B33362668A37B91b6B49e4726e6b21C", + "cellId": "EI-L22-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B16-C2" + }, + { + "lpbca": 22, + "branch": 16, + "class": 3, + "linearIndex": 4455, + "address": "0x7D8ef7A686dB4700E9ADFA511A195a25136f5730", + "cellId": "EI-L22-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B16-C3" + }, + { + "lpbca": 22, + "branch": 16, + "class": 4, + "linearIndex": 4456, + "address": "0x6f497FdC4d411e82117a22d9B2F63b7e882705dC", + "cellId": "EI-L22-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B16-C4" + }, + { + "lpbca": 22, + "branch": 16, + "class": 5, + "linearIndex": 4457, + "address": "0xE62d32F69D86E41b8b6EFA189733b4D780AE76FB", + "cellId": "EI-L22-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B16-C5" + }, + { + "lpbca": 22, + "branch": 17, + "class": 0, + "linearIndex": 4458, + "address": "0x88548cE611943186d2590Fe9942D05A55aA78B74", + "cellId": "EI-L22-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B17-C0" + }, + { + "lpbca": 22, + "branch": 17, + "class": 1, + "linearIndex": 4459, + "address": "0x4dCcf768935CC6D57Dd182F19E820d18465d586D", + "cellId": "EI-L22-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B17-C1" + }, + { + "lpbca": 22, + "branch": 17, + "class": 2, + "linearIndex": 4460, + "address": "0x68afa60c18C01B31a7e867fd36C3cAEDeF47EFf8", + "cellId": "EI-L22-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B17-C2" + }, + { + "lpbca": 22, + "branch": 17, + "class": 3, + "linearIndex": 4461, + "address": "0xA33aAF12425e88EeAA3D2065a296807c98e5d2fb", + "cellId": "EI-L22-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B17-C3" + }, + { + "lpbca": 22, + "branch": 17, + "class": 4, + "linearIndex": 4462, + "address": "0x0a15E3E2E8774BEc4128a12ABD72DAEE0C4D93e1", + "cellId": "EI-L22-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B17-C4" + }, + { + "lpbca": 22, + "branch": 17, + "class": 5, + "linearIndex": 4463, + "address": "0x0b181AEDB82B2A28365a1D76376E90c658Dd23a3", + "cellId": "EI-L22-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B17-C5" + }, + { + "lpbca": 22, + "branch": 18, + "class": 0, + "linearIndex": 4464, + "address": "0x7F52F9E811E92579e088482ec86d228516a653b6", + "cellId": "EI-L22-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B18-C0" + }, + { + "lpbca": 22, + "branch": 18, + "class": 1, + "linearIndex": 4465, + "address": "0x1ACEe8E15beDE539d199035E3291734CCa4b400b", + "cellId": "EI-L22-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B18-C1" + }, + { + "lpbca": 22, + "branch": 18, + "class": 2, + "linearIndex": 4466, + "address": "0xf528e4E9fb60da36A13912C3A42466421D3C5e26", + "cellId": "EI-L22-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B18-C2" + }, + { + "lpbca": 22, + "branch": 18, + "class": 3, + "linearIndex": 4467, + "address": "0xeBF8E482F2d5b2Bb926A5d9D741059bF7E22D1f0", + "cellId": "EI-L22-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B18-C3" + }, + { + "lpbca": 22, + "branch": 18, + "class": 4, + "linearIndex": 4468, + "address": "0xd1B01f48EDAC8750B153f620aDc5535e54D37bd5", + "cellId": "EI-L22-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B18-C4" + }, + { + "lpbca": 22, + "branch": 18, + "class": 5, + "linearIndex": 4469, + "address": "0x8Ecf447262F4C7B686D7F8F2ea369bfb43d05422", + "cellId": "EI-L22-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B18-C5" + }, + { + "lpbca": 22, + "branch": 19, + "class": 0, + "linearIndex": 4470, + "address": "0xe6BbBdfCCE777e730904F2e9A438AeaE32F8a9AB", + "cellId": "EI-L22-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B19-C0" + }, + { + "lpbca": 22, + "branch": 19, + "class": 1, + "linearIndex": 4471, + "address": "0x02e7a35b8b95Ab84285443fD5dA9FF1196194e5C", + "cellId": "EI-L22-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B19-C1" + }, + { + "lpbca": 22, + "branch": 19, + "class": 2, + "linearIndex": 4472, + "address": "0xDE061640d11F0F03Fa937a8f41142E0099023FdD", + "cellId": "EI-L22-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B19-C2" + }, + { + "lpbca": 22, + "branch": 19, + "class": 3, + "linearIndex": 4473, + "address": "0x386861c98AD006674907a38A4af5FF5C597b1322", + "cellId": "EI-L22-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B19-C3" + }, + { + "lpbca": 22, + "branch": 19, + "class": 4, + "linearIndex": 4474, + "address": "0x10e4196fe9D95f9bf144e448D7CD3Bc0Bb62e304", + "cellId": "EI-L22-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B19-C4" + }, + { + "lpbca": 22, + "branch": 19, + "class": 5, + "linearIndex": 4475, + "address": "0x12eEa7D9Fc4e14b37A0222d9B5A2fE8101dDfa94", + "cellId": "EI-L22-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B19-C5" + }, + { + "lpbca": 22, + "branch": 20, + "class": 0, + "linearIndex": 4476, + "address": "0x5a4cFbF3037bbc314b88C92261B92d0F6e7956d5", + "cellId": "EI-L22-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B20-C0" + }, + { + "lpbca": 22, + "branch": 20, + "class": 1, + "linearIndex": 4477, + "address": "0x9F7478329821dE3C558bFbaf993D36aCe37712D0", + "cellId": "EI-L22-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B20-C1" + }, + { + "lpbca": 22, + "branch": 20, + "class": 2, + "linearIndex": 4478, + "address": "0x89F4De45aC6581927F06916922C362944Fa5B6A6", + "cellId": "EI-L22-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B20-C2" + }, + { + "lpbca": 22, + "branch": 20, + "class": 3, + "linearIndex": 4479, + "address": "0x1C20eEa59bc0FF4A5B8Eb0DF6A54da98e8387A3b", + "cellId": "EI-L22-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B20-C3" + }, + { + "lpbca": 22, + "branch": 20, + "class": 4, + "linearIndex": 4480, + "address": "0x8D9ca86183Fb905167cc223D87358285F5846FB4", + "cellId": "EI-L22-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B20-C4" + }, + { + "lpbca": 22, + "branch": 20, + "class": 5, + "linearIndex": 4481, + "address": "0xCE758bc61F2Bfc1aE4441E065260A05bED5E79Fe", + "cellId": "EI-L22-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B20-C5" + }, + { + "lpbca": 22, + "branch": 21, + "class": 0, + "linearIndex": 4482, + "address": "0xaC742eF54Fb3d7227A67D268d87a49225A6F4E54", + "cellId": "EI-L22-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B21-C0" + }, + { + "lpbca": 22, + "branch": 21, + "class": 1, + "linearIndex": 4483, + "address": "0xe398FcD67A28FBD57ED627C2a87d1a22c78432E6", + "cellId": "EI-L22-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B21-C1" + }, + { + "lpbca": 22, + "branch": 21, + "class": 2, + "linearIndex": 4484, + "address": "0x49Bb3970103A9Efa66992B66E647173eA686B3E0", + "cellId": "EI-L22-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B21-C2" + }, + { + "lpbca": 22, + "branch": 21, + "class": 3, + "linearIndex": 4485, + "address": "0x48145477fDc96f9D4be03aaD8A16dFcA08B55cF2", + "cellId": "EI-L22-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B21-C3" + }, + { + "lpbca": 22, + "branch": 21, + "class": 4, + "linearIndex": 4486, + "address": "0x27559437c14AEDed5d2Cd699A0C100548D70389D", + "cellId": "EI-L22-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B21-C4" + }, + { + "lpbca": 22, + "branch": 21, + "class": 5, + "linearIndex": 4487, + "address": "0x29017b15595C688b87DE748639383E7412b20F76", + "cellId": "EI-L22-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B21-C5" + }, + { + "lpbca": 22, + "branch": 22, + "class": 0, + "linearIndex": 4488, + "address": "0xbC1Cc8383cdc38d7C138844aBEFe796e26e7E8eB", + "cellId": "EI-L22-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B22-C0" + }, + { + "lpbca": 22, + "branch": 22, + "class": 1, + "linearIndex": 4489, + "address": "0x2525d4DfaA71ebE8DB50b1cB877b1e750EB9fA05", + "cellId": "EI-L22-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B22-C1" + }, + { + "lpbca": 22, + "branch": 22, + "class": 2, + "linearIndex": 4490, + "address": "0xDeE5eC4f92FF097a4ebE70A8bFB293Ea1Efd1915", + "cellId": "EI-L22-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B22-C2" + }, + { + "lpbca": 22, + "branch": 22, + "class": 3, + "linearIndex": 4491, + "address": "0x346bbfd19E413d71F4470574F9995fbaB2199076", + "cellId": "EI-L22-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B22-C3" + }, + { + "lpbca": 22, + "branch": 22, + "class": 4, + "linearIndex": 4492, + "address": "0x09638d33FC267422d9ca6C7f2b7f88F2A75c1C57", + "cellId": "EI-L22-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B22-C4" + }, + { + "lpbca": 22, + "branch": 22, + "class": 5, + "linearIndex": 4493, + "address": "0x67F45C1e7444AD0fC6626d72615523D43058E83C", + "cellId": "EI-L22-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B22-C5" + }, + { + "lpbca": 22, + "branch": 23, + "class": 0, + "linearIndex": 4494, + "address": "0x7Dc9d42dc708857058b7f578DAE8aC3924152e84", + "cellId": "EI-L22-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B23-C0" + }, + { + "lpbca": 22, + "branch": 23, + "class": 1, + "linearIndex": 4495, + "address": "0x527D7Bc5D34fa5a6801d16fb5D70E5F65c5f4279", + "cellId": "EI-L22-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B23-C1" + }, + { + "lpbca": 22, + "branch": 23, + "class": 2, + "linearIndex": 4496, + "address": "0x0A7Df8e14C267eCD77Cda53fDfc9a9EEE582AD8f", + "cellId": "EI-L22-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B23-C2" + }, + { + "lpbca": 22, + "branch": 23, + "class": 3, + "linearIndex": 4497, + "address": "0x160F9dD53Fe95D104Cdc6c9a0052aE8ea439F252", + "cellId": "EI-L22-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B23-C3" + }, + { + "lpbca": 22, + "branch": 23, + "class": 4, + "linearIndex": 4498, + "address": "0x1B435021cDD6857E728488CbAA3AdD007008d969", + "cellId": "EI-L22-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B23-C4" + }, + { + "lpbca": 22, + "branch": 23, + "class": 5, + "linearIndex": 4499, + "address": "0xeAAf49fb0B4b73476636e4439f165D343241fCc8", + "cellId": "EI-L22-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B23-C5" + }, + { + "lpbca": 22, + "branch": 24, + "class": 0, + "linearIndex": 4500, + "address": "0x11F3F1a25C54b255111586c8ae770D8a3CBC1680", + "cellId": "EI-L22-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B24-C0" + }, + { + "lpbca": 22, + "branch": 24, + "class": 1, + "linearIndex": 4501, + "address": "0xe8B1a46571a4bB714A6b651b54Bafff6A4D4BcDe", + "cellId": "EI-L22-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B24-C1" + }, + { + "lpbca": 22, + "branch": 24, + "class": 2, + "linearIndex": 4502, + "address": "0x624A56b90F0c759e70814A1D524145B3A6B0a3CF", + "cellId": "EI-L22-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B24-C2" + }, + { + "lpbca": 22, + "branch": 24, + "class": 3, + "linearIndex": 4503, + "address": "0x74Dc4d00Df3E0BA8958d23214e98770c94147FeF", + "cellId": "EI-L22-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B24-C3" + }, + { + "lpbca": 22, + "branch": 24, + "class": 4, + "linearIndex": 4504, + "address": "0x6cFB1727286643bb87b866C75579E11d0961f37f", + "cellId": "EI-L22-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B24-C4" + }, + { + "lpbca": 22, + "branch": 24, + "class": 5, + "linearIndex": 4505, + "address": "0x4E09Dfe3Ab7B9CCDBf9cEF98c0eA08121E0820aB", + "cellId": "EI-L22-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B24-C5" + }, + { + "lpbca": 22, + "branch": 25, + "class": 0, + "linearIndex": 4506, + "address": "0x2BDbfCD7806fAf960d827676591d9562B8Db6Ba1", + "cellId": "EI-L22-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B25-C0" + }, + { + "lpbca": 22, + "branch": 25, + "class": 1, + "linearIndex": 4507, + "address": "0xa0c4eC9A2fc1D2c4c29805F8A6AFF22b37496350", + "cellId": "EI-L22-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B25-C1" + }, + { + "lpbca": 22, + "branch": 25, + "class": 2, + "linearIndex": 4508, + "address": "0x3946aea88bf8a3c1B13D965E4261e40590bd6FbF", + "cellId": "EI-L22-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B25-C2" + }, + { + "lpbca": 22, + "branch": 25, + "class": 3, + "linearIndex": 4509, + "address": "0xFfB2f9428e7F7F2E473F5d835eBcB54adc67Ae89", + "cellId": "EI-L22-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B25-C3" + }, + { + "lpbca": 22, + "branch": 25, + "class": 4, + "linearIndex": 4510, + "address": "0xE5015bee35cbeEa048732f45871AcA51B3C971Ca", + "cellId": "EI-L22-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B25-C4" + }, + { + "lpbca": 22, + "branch": 25, + "class": 5, + "linearIndex": 4511, + "address": "0xd852fdf1C4A076Ae52915a328f1883b23597F976", + "cellId": "EI-L22-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B25-C5" + }, + { + "lpbca": 22, + "branch": 26, + "class": 0, + "linearIndex": 4512, + "address": "0x8DE639f1c325F83002E0CA11FdF1E48F779aaB2C", + "cellId": "EI-L22-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B26-C0" + }, + { + "lpbca": 22, + "branch": 26, + "class": 1, + "linearIndex": 4513, + "address": "0xc1bB1c05F7f9A144171B55eC2fba1A4D6C75029C", + "cellId": "EI-L22-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B26-C1" + }, + { + "lpbca": 22, + "branch": 26, + "class": 2, + "linearIndex": 4514, + "address": "0x39B31Ecce0eA72dC32E3Cf3E82f51e9A81667673", + "cellId": "EI-L22-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B26-C2" + }, + { + "lpbca": 22, + "branch": 26, + "class": 3, + "linearIndex": 4515, + "address": "0x1b225cCB07ab044bdB814e6dd5A258c1E756C6f1", + "cellId": "EI-L22-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B26-C3" + }, + { + "lpbca": 22, + "branch": 26, + "class": 4, + "linearIndex": 4516, + "address": "0x084f583E533812C6F779a111743e174E769dff96", + "cellId": "EI-L22-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B26-C4" + }, + { + "lpbca": 22, + "branch": 26, + "class": 5, + "linearIndex": 4517, + "address": "0x931D52BA941b416066a5d78B83330c18097e9551", + "cellId": "EI-L22-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B26-C5" + }, + { + "lpbca": 22, + "branch": 27, + "class": 0, + "linearIndex": 4518, + "address": "0xFfeDfF8167F6C2DE8eeFa9A02fEF772eC251c0E6", + "cellId": "EI-L22-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B27-C0" + }, + { + "lpbca": 22, + "branch": 27, + "class": 1, + "linearIndex": 4519, + "address": "0x5fDc1b41b8725FB990Fa4852F6A8Cb60d206f1E5", + "cellId": "EI-L22-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B27-C1" + }, + { + "lpbca": 22, + "branch": 27, + "class": 2, + "linearIndex": 4520, + "address": "0x251C145b68938Eab2597D636f1D7a8B3FeCFe20A", + "cellId": "EI-L22-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B27-C2" + }, + { + "lpbca": 22, + "branch": 27, + "class": 3, + "linearIndex": 4521, + "address": "0x2eC83eb0a54124219095B685b1F1dfF27109151B", + "cellId": "EI-L22-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B27-C3" + }, + { + "lpbca": 22, + "branch": 27, + "class": 4, + "linearIndex": 4522, + "address": "0xd3cB6340EA9Ea8752ffBeEE84Fd7824981604c2f", + "cellId": "EI-L22-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B27-C4" + }, + { + "lpbca": 22, + "branch": 27, + "class": 5, + "linearIndex": 4523, + "address": "0x6daA37206C934c9d75A78574E2C687cD07dAF29D", + "cellId": "EI-L22-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B27-C5" + }, + { + "lpbca": 22, + "branch": 28, + "class": 0, + "linearIndex": 4524, + "address": "0xc897325f9b4e88949F6ED510b46ab24dc3901ad6", + "cellId": "EI-L22-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B28-C0" + }, + { + "lpbca": 22, + "branch": 28, + "class": 1, + "linearIndex": 4525, + "address": "0x338A88dE8c9C3841344BD1595F417fBdd7Bad732", + "cellId": "EI-L22-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B28-C1" + }, + { + "lpbca": 22, + "branch": 28, + "class": 2, + "linearIndex": 4526, + "address": "0xFDC500294c532dE878E3F2133c780AD3ddCCa49d", + "cellId": "EI-L22-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B28-C2" + }, + { + "lpbca": 22, + "branch": 28, + "class": 3, + "linearIndex": 4527, + "address": "0x1e2B3600cFFc5F2ca6cC8A7A86Bf2537Be3e1331", + "cellId": "EI-L22-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B28-C3" + }, + { + "lpbca": 22, + "branch": 28, + "class": 4, + "linearIndex": 4528, + "address": "0x3Ab6380dcca323117B0d3452a773b6A16384d65e", + "cellId": "EI-L22-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B28-C4" + }, + { + "lpbca": 22, + "branch": 28, + "class": 5, + "linearIndex": 4529, + "address": "0x550FDF398B8B25ec965680C55a39D1866b79aDF8", + "cellId": "EI-L22-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B28-C5" + }, + { + "lpbca": 22, + "branch": 29, + "class": 0, + "linearIndex": 4530, + "address": "0x385B979E4f4AEEd5b7887824b6f08567db157421", + "cellId": "EI-L22-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B29-C0" + }, + { + "lpbca": 22, + "branch": 29, + "class": 1, + "linearIndex": 4531, + "address": "0x6B9fa2a8EB34E43D361763C49e1A023e2D228f7c", + "cellId": "EI-L22-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B29-C1" + }, + { + "lpbca": 22, + "branch": 29, + "class": 2, + "linearIndex": 4532, + "address": "0x7b1eF15e884f3DD98DED7c5d99eD7BBAaA7126d9", + "cellId": "EI-L22-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B29-C2" + }, + { + "lpbca": 22, + "branch": 29, + "class": 3, + "linearIndex": 4533, + "address": "0x381F3C1389DFCD5E98e589066809f0038d84BEd8", + "cellId": "EI-L22-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B29-C3" + }, + { + "lpbca": 22, + "branch": 29, + "class": 4, + "linearIndex": 4534, + "address": "0xA996F871eB5FCeB93d3FDC6060dD14E41Fd1D665", + "cellId": "EI-L22-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B29-C4" + }, + { + "lpbca": 22, + "branch": 29, + "class": 5, + "linearIndex": 4535, + "address": "0xaD9A0558B171501b4D81AbCf46d55A01aCe6eb81", + "cellId": "EI-L22-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B29-C5" + }, + { + "lpbca": 22, + "branch": 30, + "class": 0, + "linearIndex": 4536, + "address": "0x3c2280D107Db2aA57fa44b15573833881d96c0Dd", + "cellId": "EI-L22-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B30-C0" + }, + { + "lpbca": 22, + "branch": 30, + "class": 1, + "linearIndex": 4537, + "address": "0xFD9429Ead7ea1361D0883bf04f9a4291af64428E", + "cellId": "EI-L22-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B30-C1" + }, + { + "lpbca": 22, + "branch": 30, + "class": 2, + "linearIndex": 4538, + "address": "0x15b477A02E6993Dc0BA0e359a3720681cB8A4814", + "cellId": "EI-L22-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B30-C2" + }, + { + "lpbca": 22, + "branch": 30, + "class": 3, + "linearIndex": 4539, + "address": "0xA6CFA6CC6Ab05Ac2E28ce079C262f591470108a0", + "cellId": "EI-L22-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B30-C3" + }, + { + "lpbca": 22, + "branch": 30, + "class": 4, + "linearIndex": 4540, + "address": "0x9C1d21f4D97FC9E287B482566A9A70a11b73d9Be", + "cellId": "EI-L22-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B30-C4" + }, + { + "lpbca": 22, + "branch": 30, + "class": 5, + "linearIndex": 4541, + "address": "0xc9eD04872aFf8347F2fb029f58105E4887C922fA", + "cellId": "EI-L22-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B30-C5" + }, + { + "lpbca": 22, + "branch": 31, + "class": 0, + "linearIndex": 4542, + "address": "0x32800eABAE5DF84137871499570Dd95c267145bF", + "cellId": "EI-L22-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B31-C0" + }, + { + "lpbca": 22, + "branch": 31, + "class": 1, + "linearIndex": 4543, + "address": "0xfaDB654962C7529b35aBB9E493b766F7a8b9562E", + "cellId": "EI-L22-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B31-C1" + }, + { + "lpbca": 22, + "branch": 31, + "class": 2, + "linearIndex": 4544, + "address": "0xfF8B9761d0dbDF834C3C7aA8137C5132D834ABa8", + "cellId": "EI-L22-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B31-C2" + }, + { + "lpbca": 22, + "branch": 31, + "class": 3, + "linearIndex": 4545, + "address": "0x92B803afDC2D400687144082FFc0C7246C1Bf7B8", + "cellId": "EI-L22-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B31-C3" + }, + { + "lpbca": 22, + "branch": 31, + "class": 4, + "linearIndex": 4546, + "address": "0x9Dc8D2C6A75BA2963050252eb186D5747BA1152e", + "cellId": "EI-L22-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B31-C4" + }, + { + "lpbca": 22, + "branch": 31, + "class": 5, + "linearIndex": 4547, + "address": "0xa913f0fB49F2823Fdf110e87881671155fE0374F", + "cellId": "EI-L22-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B31-C5" + }, + { + "lpbca": 22, + "branch": 32, + "class": 0, + "linearIndex": 4548, + "address": "0x2198Aee33Db643c16dA14935BAD22b859C54acf6", + "cellId": "EI-L22-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B32-C0" + }, + { + "lpbca": 22, + "branch": 32, + "class": 1, + "linearIndex": 4549, + "address": "0xF0C0Bb604C08d6Ec2A40B4F41C1F7948eF867150", + "cellId": "EI-L22-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B32-C1" + }, + { + "lpbca": 22, + "branch": 32, + "class": 2, + "linearIndex": 4550, + "address": "0x71052435e6a7C6d1724BdabcBC56952820465c27", + "cellId": "EI-L22-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B32-C2" + }, + { + "lpbca": 22, + "branch": 32, + "class": 3, + "linearIndex": 4551, + "address": "0x3Bd0aA6C5d94e861106557F4D130c2F069bfaf9b", + "cellId": "EI-L22-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B32-C3" + }, + { + "lpbca": 22, + "branch": 32, + "class": 4, + "linearIndex": 4552, + "address": "0xd7FCed951A5E36A004fbd2fE04777FaeB98A75a0", + "cellId": "EI-L22-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B32-C4" + }, + { + "lpbca": 22, + "branch": 32, + "class": 5, + "linearIndex": 4553, + "address": "0x390F4e47129a007931030d7323cfd01d740E1e9b", + "cellId": "EI-L22-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L22-B32-C5" + }, + { + "lpbca": 23, + "branch": 0, + "class": 0, + "linearIndex": 4554, + "address": "0x82bCE61DfcC4a4EaA8924cf489189BA39b9e9f78", + "cellId": "EI-L23-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B00-C0" + }, + { + "lpbca": 23, + "branch": 0, + "class": 1, + "linearIndex": 4555, + "address": "0x34Cd4aA9831919D0AbC4724822CE45da6768a607", + "cellId": "EI-L23-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B00-C1" + }, + { + "lpbca": 23, + "branch": 0, + "class": 2, + "linearIndex": 4556, + "address": "0xF6b758De2C226887d6258F6aAB55620D94F541C8", + "cellId": "EI-L23-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B00-C2" + }, + { + "lpbca": 23, + "branch": 0, + "class": 3, + "linearIndex": 4557, + "address": "0xa80F80FF9f8075A8ae254D8A14D948bf8B9324Fb", + "cellId": "EI-L23-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B00-C3" + }, + { + "lpbca": 23, + "branch": 0, + "class": 4, + "linearIndex": 4558, + "address": "0x35203BE181f1C48f8CaE4Bc7ed323678BdE996D5", + "cellId": "EI-L23-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B00-C4" + }, + { + "lpbca": 23, + "branch": 0, + "class": 5, + "linearIndex": 4559, + "address": "0x8041933122b2452A6B356B74AbcD473fa1Db5c81", + "cellId": "EI-L23-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B00-C5" + }, + { + "lpbca": 23, + "branch": 1, + "class": 0, + "linearIndex": 4560, + "address": "0x4DF3ab2EabAe745426Fa11367BB2c9d9fC00E8Bd", + "cellId": "EI-L23-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B01-C0" + }, + { + "lpbca": 23, + "branch": 1, + "class": 1, + "linearIndex": 4561, + "address": "0x5585b3F4869e60Ea93F4D70F2F69937AD241813F", + "cellId": "EI-L23-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B01-C1" + }, + { + "lpbca": 23, + "branch": 1, + "class": 2, + "linearIndex": 4562, + "address": "0xa59Ac2e7098fcC83F2f625671D8934F8b0cD132C", + "cellId": "EI-L23-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B01-C2" + }, + { + "lpbca": 23, + "branch": 1, + "class": 3, + "linearIndex": 4563, + "address": "0xfEdce3c6E2a5098Fa9329b53d69eD828E22c3849", + "cellId": "EI-L23-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B01-C3" + }, + { + "lpbca": 23, + "branch": 1, + "class": 4, + "linearIndex": 4564, + "address": "0x7F81afb2e9Fb6505c4adD783ace4f69C7BF0E739", + "cellId": "EI-L23-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B01-C4" + }, + { + "lpbca": 23, + "branch": 1, + "class": 5, + "linearIndex": 4565, + "address": "0xf01017A9FD1b2991E3a6D6E9f29Ff5d0493c1541", + "cellId": "EI-L23-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B01-C5" + }, + { + "lpbca": 23, + "branch": 2, + "class": 0, + "linearIndex": 4566, + "address": "0xB80d6796523f56535e8141B8ED393074452860BB", + "cellId": "EI-L23-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B02-C0" + }, + { + "lpbca": 23, + "branch": 2, + "class": 1, + "linearIndex": 4567, + "address": "0xd6eB47D3BF1A89e0cdE430782f66A12B4021997e", + "cellId": "EI-L23-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B02-C1" + }, + { + "lpbca": 23, + "branch": 2, + "class": 2, + "linearIndex": 4568, + "address": "0xb7F3457Ec6ea4F26b30764B4ACFB6eAce0d0c938", + "cellId": "EI-L23-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B02-C2" + }, + { + "lpbca": 23, + "branch": 2, + "class": 3, + "linearIndex": 4569, + "address": "0xcF1a3D36A1421AD67062d3156EBC1A3113BDbE12", + "cellId": "EI-L23-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B02-C3" + }, + { + "lpbca": 23, + "branch": 2, + "class": 4, + "linearIndex": 4570, + "address": "0x03BEA62886EB1f6361635A54F4B5e93FEC3c3287", + "cellId": "EI-L23-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B02-C4" + }, + { + "lpbca": 23, + "branch": 2, + "class": 5, + "linearIndex": 4571, + "address": "0x96296E2Da28Af567BA23EE79F5b6dB7864Da0CF2", + "cellId": "EI-L23-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B02-C5" + }, + { + "lpbca": 23, + "branch": 3, + "class": 0, + "linearIndex": 4572, + "address": "0x4ad243f2904e9CD337fb1054F5FfdB3907F8b125", + "cellId": "EI-L23-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B03-C0" + }, + { + "lpbca": 23, + "branch": 3, + "class": 1, + "linearIndex": 4573, + "address": "0xe1312F44AeE090676e57aFA9aEF84e8EA3840dcC", + "cellId": "EI-L23-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B03-C1" + }, + { + "lpbca": 23, + "branch": 3, + "class": 2, + "linearIndex": 4574, + "address": "0x3ea0De345Ba61908ecf180bd60DF1A73285C888b", + "cellId": "EI-L23-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B03-C2" + }, + { + "lpbca": 23, + "branch": 3, + "class": 3, + "linearIndex": 4575, + "address": "0x29eb66461b4b3C50A5c8cBD5056c48Ef8a64E44B", + "cellId": "EI-L23-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B03-C3" + }, + { + "lpbca": 23, + "branch": 3, + "class": 4, + "linearIndex": 4576, + "address": "0x73cca221441eb3009DaFED2C417f42C497380251", + "cellId": "EI-L23-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B03-C4" + }, + { + "lpbca": 23, + "branch": 3, + "class": 5, + "linearIndex": 4577, + "address": "0x609b48d742260bDA15597BE8626807ffbDEcBef3", + "cellId": "EI-L23-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B03-C5" + }, + { + "lpbca": 23, + "branch": 4, + "class": 0, + "linearIndex": 4578, + "address": "0xC9fff1548eF33197D4a706a3963FE252e548C07b", + "cellId": "EI-L23-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B04-C0" + }, + { + "lpbca": 23, + "branch": 4, + "class": 1, + "linearIndex": 4579, + "address": "0xE26E2E40c9d41A5C528321900851949A8A024166", + "cellId": "EI-L23-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B04-C1" + }, + { + "lpbca": 23, + "branch": 4, + "class": 2, + "linearIndex": 4580, + "address": "0x46E648e98C05ab14B159d20E39Cbf132e650af60", + "cellId": "EI-L23-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B04-C2" + }, + { + "lpbca": 23, + "branch": 4, + "class": 3, + "linearIndex": 4581, + "address": "0x4109C4AfcA9078cdB20EfEF1876140d1E33c9556", + "cellId": "EI-L23-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B04-C3" + }, + { + "lpbca": 23, + "branch": 4, + "class": 4, + "linearIndex": 4582, + "address": "0x9843eEc7aae8D43fB4861Bd89790523200eD4F91", + "cellId": "EI-L23-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B04-C4" + }, + { + "lpbca": 23, + "branch": 4, + "class": 5, + "linearIndex": 4583, + "address": "0xF191f5F44796ac8031119594FA8EeC654a23fC12", + "cellId": "EI-L23-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B04-C5" + }, + { + "lpbca": 23, + "branch": 5, + "class": 0, + "linearIndex": 4584, + "address": "0xC8e2A73526744f0c0b30325C697CC391205dF78d", + "cellId": "EI-L23-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B05-C0" + }, + { + "lpbca": 23, + "branch": 5, + "class": 1, + "linearIndex": 4585, + "address": "0x99DE1B17f3a0721F6fEb1D22664e078c00a856e3", + "cellId": "EI-L23-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B05-C1" + }, + { + "lpbca": 23, + "branch": 5, + "class": 2, + "linearIndex": 4586, + "address": "0x73143eB5e60EF0e1b75F82919EB8eDD7bAFE9EC9", + "cellId": "EI-L23-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B05-C2" + }, + { + "lpbca": 23, + "branch": 5, + "class": 3, + "linearIndex": 4587, + "address": "0x4A8f15aa194F1a72Da4F5077c7621b0E478e06f0", + "cellId": "EI-L23-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B05-C3" + }, + { + "lpbca": 23, + "branch": 5, + "class": 4, + "linearIndex": 4588, + "address": "0xBF2EFa3e9E8b217D4152b7ca7898bfd18699cF51", + "cellId": "EI-L23-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B05-C4" + }, + { + "lpbca": 23, + "branch": 5, + "class": 5, + "linearIndex": 4589, + "address": "0xf6b19CC68b3d56BAb7FfA198A597495585439A7d", + "cellId": "EI-L23-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B05-C5" + }, + { + "lpbca": 23, + "branch": 6, + "class": 0, + "linearIndex": 4590, + "address": "0x0D9B4cDFa8F6B70aa62D1D66507126ff902C171f", + "cellId": "EI-L23-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B06-C0" + }, + { + "lpbca": 23, + "branch": 6, + "class": 1, + "linearIndex": 4591, + "address": "0x0cf525f5c5a8D8D13f732b27D4BF1E8e584E5961", + "cellId": "EI-L23-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B06-C1" + }, + { + "lpbca": 23, + "branch": 6, + "class": 2, + "linearIndex": 4592, + "address": "0xCA45410825d31CAB2abE31080B32B634629C0282", + "cellId": "EI-L23-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B06-C2" + }, + { + "lpbca": 23, + "branch": 6, + "class": 3, + "linearIndex": 4593, + "address": "0xfFdaD775e8cee8B6D8267968780620D2e509e464", + "cellId": "EI-L23-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B06-C3" + }, + { + "lpbca": 23, + "branch": 6, + "class": 4, + "linearIndex": 4594, + "address": "0x003e5FD566F0A0fdE3b4CcC6c09801fA1eaCE515", + "cellId": "EI-L23-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B06-C4" + }, + { + "lpbca": 23, + "branch": 6, + "class": 5, + "linearIndex": 4595, + "address": "0x729c937145Ca70D59F4d03287dd20EcC56e99236", + "cellId": "EI-L23-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B06-C5" + }, + { + "lpbca": 23, + "branch": 7, + "class": 0, + "linearIndex": 4596, + "address": "0xa2E078bd5530998e129f4814836cFc5ad6ba6d80", + "cellId": "EI-L23-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B07-C0" + }, + { + "lpbca": 23, + "branch": 7, + "class": 1, + "linearIndex": 4597, + "address": "0x63d610760DF66B1d200e5887e8FF50579E6e0451", + "cellId": "EI-L23-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B07-C1" + }, + { + "lpbca": 23, + "branch": 7, + "class": 2, + "linearIndex": 4598, + "address": "0x5B48E3f75b072e2669E948cce03f76834Ce5F7AA", + "cellId": "EI-L23-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B07-C2" + }, + { + "lpbca": 23, + "branch": 7, + "class": 3, + "linearIndex": 4599, + "address": "0x4F29F8cf9A18763B1892778A20Dd7cfe2B028e6b", + "cellId": "EI-L23-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B07-C3" + }, + { + "lpbca": 23, + "branch": 7, + "class": 4, + "linearIndex": 4600, + "address": "0xB22ef7de24405568aD9fae92Be728D7073b49Af4", + "cellId": "EI-L23-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B07-C4" + }, + { + "lpbca": 23, + "branch": 7, + "class": 5, + "linearIndex": 4601, + "address": "0xb9D29502f46C07FA91CACEe387d798F2067abBEa", + "cellId": "EI-L23-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B07-C5" + }, + { + "lpbca": 23, + "branch": 8, + "class": 0, + "linearIndex": 4602, + "address": "0x8F252996960c05b633CCC9c535E6973B0715756F", + "cellId": "EI-L23-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B08-C0" + }, + { + "lpbca": 23, + "branch": 8, + "class": 1, + "linearIndex": 4603, + "address": "0xe42Da8fcb01E0625dBD36647E7086A6C44F06796", + "cellId": "EI-L23-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B08-C1" + }, + { + "lpbca": 23, + "branch": 8, + "class": 2, + "linearIndex": 4604, + "address": "0x4a59edbE7B65B204f3eAA28330BF92A57651caaF", + "cellId": "EI-L23-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B08-C2" + }, + { + "lpbca": 23, + "branch": 8, + "class": 3, + "linearIndex": 4605, + "address": "0x39CE35B0459EbfAaa61B535Cb83E87377D094B67", + "cellId": "EI-L23-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B08-C3" + }, + { + "lpbca": 23, + "branch": 8, + "class": 4, + "linearIndex": 4606, + "address": "0xfa23d2E1F135f2CF791562A8f7Db48779DD9224E", + "cellId": "EI-L23-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B08-C4" + }, + { + "lpbca": 23, + "branch": 8, + "class": 5, + "linearIndex": 4607, + "address": "0x2581d523574BBF4F600B61656F97Cf9F1B150FF9", + "cellId": "EI-L23-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B08-C5" + }, + { + "lpbca": 23, + "branch": 9, + "class": 0, + "linearIndex": 4608, + "address": "0x0D7DcdAB32BEF33f80c8E5c7f67d084ca37CE5E6", + "cellId": "EI-L23-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B09-C0" + }, + { + "lpbca": 23, + "branch": 9, + "class": 1, + "linearIndex": 4609, + "address": "0xbc3B4163c79D585C01cdDC3b1bAB32601c197326", + "cellId": "EI-L23-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B09-C1" + }, + { + "lpbca": 23, + "branch": 9, + "class": 2, + "linearIndex": 4610, + "address": "0xE0F7430860c7d593a0e6d699a4bCe1c55BC3e118", + "cellId": "EI-L23-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B09-C2" + }, + { + "lpbca": 23, + "branch": 9, + "class": 3, + "linearIndex": 4611, + "address": "0x2B9eFEA41f1b6dE1E2Eca6dE5b4B71CaEA381B33", + "cellId": "EI-L23-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B09-C3" + }, + { + "lpbca": 23, + "branch": 9, + "class": 4, + "linearIndex": 4612, + "address": "0xbd74Be5Ad32e6AC7e0db69Ef9684dF56F0F11C8d", + "cellId": "EI-L23-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B09-C4" + }, + { + "lpbca": 23, + "branch": 9, + "class": 5, + "linearIndex": 4613, + "address": "0xf09Ad7b82f1d29877f86135adA8d9a60360DAcE3", + "cellId": "EI-L23-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B09-C5" + }, + { + "lpbca": 23, + "branch": 10, + "class": 0, + "linearIndex": 4614, + "address": "0x2CBf6896569798D1029B0134312e4F304aaA418B", + "cellId": "EI-L23-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B10-C0" + }, + { + "lpbca": 23, + "branch": 10, + "class": 1, + "linearIndex": 4615, + "address": "0x8b40eC44E11b6bDCd78a6F2F0A8baDbe0786854e", + "cellId": "EI-L23-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B10-C1" + }, + { + "lpbca": 23, + "branch": 10, + "class": 2, + "linearIndex": 4616, + "address": "0x267e64fBA086016F037656C6f164F042441B5732", + "cellId": "EI-L23-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B10-C2" + }, + { + "lpbca": 23, + "branch": 10, + "class": 3, + "linearIndex": 4617, + "address": "0x40bfc1F769966eEc36B0f008020337e31ABd42F3", + "cellId": "EI-L23-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B10-C3" + }, + { + "lpbca": 23, + "branch": 10, + "class": 4, + "linearIndex": 4618, + "address": "0x314115312338Ee087861afbd7e2936Cb1997E7A0", + "cellId": "EI-L23-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B10-C4" + }, + { + "lpbca": 23, + "branch": 10, + "class": 5, + "linearIndex": 4619, + "address": "0x08a511874549F6d74c3C4Be59B9417AF249C0cC1", + "cellId": "EI-L23-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B10-C5" + }, + { + "lpbca": 23, + "branch": 11, + "class": 0, + "linearIndex": 4620, + "address": "0x3fBb1106A2B2E0B653E4121cD92dc7A8dd12982b", + "cellId": "EI-L23-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B11-C0" + }, + { + "lpbca": 23, + "branch": 11, + "class": 1, + "linearIndex": 4621, + "address": "0x49B5932A567f1A56000940Bd3aeFaC7285eE6f3f", + "cellId": "EI-L23-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B11-C1" + }, + { + "lpbca": 23, + "branch": 11, + "class": 2, + "linearIndex": 4622, + "address": "0x3c509D86AaEe9c2A2b084088a09041CC82f822EE", + "cellId": "EI-L23-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B11-C2" + }, + { + "lpbca": 23, + "branch": 11, + "class": 3, + "linearIndex": 4623, + "address": "0xfCE94563905E6619CC79DD33aA29B875A014CAD4", + "cellId": "EI-L23-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B11-C3" + }, + { + "lpbca": 23, + "branch": 11, + "class": 4, + "linearIndex": 4624, + "address": "0xA3Eb824a5fF0129d584F02264943A51a3aC52B20", + "cellId": "EI-L23-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B11-C4" + }, + { + "lpbca": 23, + "branch": 11, + "class": 5, + "linearIndex": 4625, + "address": "0x0448f2111e84e84D1C01ab61619796c40647Ff91", + "cellId": "EI-L23-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B11-C5" + }, + { + "lpbca": 23, + "branch": 12, + "class": 0, + "linearIndex": 4626, + "address": "0x3daA435F33c04EDd4a3788d607d72eA8e5b2B857", + "cellId": "EI-L23-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B12-C0" + }, + { + "lpbca": 23, + "branch": 12, + "class": 1, + "linearIndex": 4627, + "address": "0x74A2FF96eb74Ea448eA5D6c8be85CDa10Ff2a914", + "cellId": "EI-L23-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B12-C1" + }, + { + "lpbca": 23, + "branch": 12, + "class": 2, + "linearIndex": 4628, + "address": "0x2986f08D0dA333DDE7C715Bd98e43E45E1890F15", + "cellId": "EI-L23-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B12-C2" + }, + { + "lpbca": 23, + "branch": 12, + "class": 3, + "linearIndex": 4629, + "address": "0x6A5cDBF9D7A382Ce41B93D12e9b400e243e1D081", + "cellId": "EI-L23-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B12-C3" + }, + { + "lpbca": 23, + "branch": 12, + "class": 4, + "linearIndex": 4630, + "address": "0xda4ef6a56CE3Fb0f7E52eca5d08bBFBd35c9751f", + "cellId": "EI-L23-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B12-C4" + }, + { + "lpbca": 23, + "branch": 12, + "class": 5, + "linearIndex": 4631, + "address": "0x3eca3f23B2d0D3a7300aC7CD952878e9B3179c1B", + "cellId": "EI-L23-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B12-C5" + }, + { + "lpbca": 23, + "branch": 13, + "class": 0, + "linearIndex": 4632, + "address": "0x3D73b55b9B7bEF13F7B1EfdEbA6884A8B9A042B2", + "cellId": "EI-L23-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B13-C0" + }, + { + "lpbca": 23, + "branch": 13, + "class": 1, + "linearIndex": 4633, + "address": "0x70d43820F06C0DC04F213CA9DaF11f0d0363012a", + "cellId": "EI-L23-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B13-C1" + }, + { + "lpbca": 23, + "branch": 13, + "class": 2, + "linearIndex": 4634, + "address": "0x6964cc55b61c57874Bdf739bA0A2d85Dae7ab3c9", + "cellId": "EI-L23-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B13-C2" + }, + { + "lpbca": 23, + "branch": 13, + "class": 3, + "linearIndex": 4635, + "address": "0x42B14b2f8a70E558d6912EECbef1a58EAA809fC2", + "cellId": "EI-L23-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B13-C3" + }, + { + "lpbca": 23, + "branch": 13, + "class": 4, + "linearIndex": 4636, + "address": "0x0574cEf4AA86B33C293Ec910D4da9c8aba8e1AD1", + "cellId": "EI-L23-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B13-C4" + }, + { + "lpbca": 23, + "branch": 13, + "class": 5, + "linearIndex": 4637, + "address": "0x3ec13b2ef8a6102646AAD82e9B2A1011A0B27C27", + "cellId": "EI-L23-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B13-C5" + }, + { + "lpbca": 23, + "branch": 14, + "class": 0, + "linearIndex": 4638, + "address": "0x7e482E14616eEa5E9662A7eDba2E1997b72d7641", + "cellId": "EI-L23-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B14-C0" + }, + { + "lpbca": 23, + "branch": 14, + "class": 1, + "linearIndex": 4639, + "address": "0xE80E7E05c00a297960a0B092a08C2cF55D29b854", + "cellId": "EI-L23-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B14-C1" + }, + { + "lpbca": 23, + "branch": 14, + "class": 2, + "linearIndex": 4640, + "address": "0x76fe6217CD48fd80d13137A4F7BD4994B31558e8", + "cellId": "EI-L23-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B14-C2" + }, + { + "lpbca": 23, + "branch": 14, + "class": 3, + "linearIndex": 4641, + "address": "0x2D183087b8796AAcFE8DC6Fd37B2c24E0FF9C153", + "cellId": "EI-L23-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B14-C3" + }, + { + "lpbca": 23, + "branch": 14, + "class": 4, + "linearIndex": 4642, + "address": "0x51f35AFB3e902759968528A90FF140EfAC17D31F", + "cellId": "EI-L23-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B14-C4" + }, + { + "lpbca": 23, + "branch": 14, + "class": 5, + "linearIndex": 4643, + "address": "0x3248631a2B1B75f4E0Ff9f6F32fce53d704761bA", + "cellId": "EI-L23-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B14-C5" + }, + { + "lpbca": 23, + "branch": 15, + "class": 0, + "linearIndex": 4644, + "address": "0x0b645081fff4ae3504AB60b5a18Bf307e702340B", + "cellId": "EI-L23-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B15-C0" + }, + { + "lpbca": 23, + "branch": 15, + "class": 1, + "linearIndex": 4645, + "address": "0xCec4564DD6b4669723Cf9305d6Da5Ef01556E5B2", + "cellId": "EI-L23-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B15-C1" + }, + { + "lpbca": 23, + "branch": 15, + "class": 2, + "linearIndex": 4646, + "address": "0x9215C49B79496D26f0fa2f9a342BB8170eCA6C92", + "cellId": "EI-L23-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B15-C2" + }, + { + "lpbca": 23, + "branch": 15, + "class": 3, + "linearIndex": 4647, + "address": "0x3C9f3d9E918df0fA08996a28c7f263327C422a7A", + "cellId": "EI-L23-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B15-C3" + }, + { + "lpbca": 23, + "branch": 15, + "class": 4, + "linearIndex": 4648, + "address": "0xC3697cEF50Fb2e95295BE6D79d4Ae9DB7A42E7A6", + "cellId": "EI-L23-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B15-C4" + }, + { + "lpbca": 23, + "branch": 15, + "class": 5, + "linearIndex": 4649, + "address": "0x222Fbd2D2a838C0d852D2b52317DC947d8054950", + "cellId": "EI-L23-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B15-C5" + }, + { + "lpbca": 23, + "branch": 16, + "class": 0, + "linearIndex": 4650, + "address": "0xdA8c4201E6F16712BA56c1325A01549868629Bca", + "cellId": "EI-L23-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B16-C0" + }, + { + "lpbca": 23, + "branch": 16, + "class": 1, + "linearIndex": 4651, + "address": "0x2C789416D0b60288987E94CD6960CcBD64cc5a44", + "cellId": "EI-L23-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B16-C1" + }, + { + "lpbca": 23, + "branch": 16, + "class": 2, + "linearIndex": 4652, + "address": "0x5F62D8835128b2837a45c71F2d4dfD5397C1283C", + "cellId": "EI-L23-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B16-C2" + }, + { + "lpbca": 23, + "branch": 16, + "class": 3, + "linearIndex": 4653, + "address": "0xd008f95B5b350AFb5d8A96a1C48F6650ea68Aae7", + "cellId": "EI-L23-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B16-C3" + }, + { + "lpbca": 23, + "branch": 16, + "class": 4, + "linearIndex": 4654, + "address": "0xb833968a9929fE029e3B50883F35a7140F06aD94", + "cellId": "EI-L23-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B16-C4" + }, + { + "lpbca": 23, + "branch": 16, + "class": 5, + "linearIndex": 4655, + "address": "0x64211f02F8C0c930f1C2C79d4B649CB54fA283D1", + "cellId": "EI-L23-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B16-C5" + }, + { + "lpbca": 23, + "branch": 17, + "class": 0, + "linearIndex": 4656, + "address": "0x4B019fb7983AEC7AADe17115Eb16e1Ae3111CEb7", + "cellId": "EI-L23-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B17-C0" + }, + { + "lpbca": 23, + "branch": 17, + "class": 1, + "linearIndex": 4657, + "address": "0xcf8822AFe152Efa94dfDBDF1A932c196378E7020", + "cellId": "EI-L23-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B17-C1" + }, + { + "lpbca": 23, + "branch": 17, + "class": 2, + "linearIndex": 4658, + "address": "0xeB6E2129Fbab6F208DF119CB591687eb371F1a95", + "cellId": "EI-L23-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B17-C2" + }, + { + "lpbca": 23, + "branch": 17, + "class": 3, + "linearIndex": 4659, + "address": "0x6c0fd481EC736C94dd0566F5eF0528389f54F0bB", + "cellId": "EI-L23-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B17-C3" + }, + { + "lpbca": 23, + "branch": 17, + "class": 4, + "linearIndex": 4660, + "address": "0x948bc7CEAD9B0d85AdD36aEDeE93CbfaC4D13130", + "cellId": "EI-L23-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B17-C4" + }, + { + "lpbca": 23, + "branch": 17, + "class": 5, + "linearIndex": 4661, + "address": "0xDd35e4e61c6500ec6833Fbe92103D0E56b32b540", + "cellId": "EI-L23-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B17-C5" + }, + { + "lpbca": 23, + "branch": 18, + "class": 0, + "linearIndex": 4662, + "address": "0xe769f1Ec06B4515B93C26974E99F5Fb95b3dd2B9", + "cellId": "EI-L23-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B18-C0" + }, + { + "lpbca": 23, + "branch": 18, + "class": 1, + "linearIndex": 4663, + "address": "0x9132c424C1813Cf94B1E5D1362D7B09de3F454A8", + "cellId": "EI-L23-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B18-C1" + }, + { + "lpbca": 23, + "branch": 18, + "class": 2, + "linearIndex": 4664, + "address": "0x7D6E114672eFFa9BC6241Abc8E0A43C6aD7e9881", + "cellId": "EI-L23-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B18-C2" + }, + { + "lpbca": 23, + "branch": 18, + "class": 3, + "linearIndex": 4665, + "address": "0x7F6c041a8e848a47040BffEdfcdB823Cfa6d0f55", + "cellId": "EI-L23-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B18-C3" + }, + { + "lpbca": 23, + "branch": 18, + "class": 4, + "linearIndex": 4666, + "address": "0xe41d0AaCf334716f312E4A01c440F9D0AfA6CA3b", + "cellId": "EI-L23-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B18-C4" + }, + { + "lpbca": 23, + "branch": 18, + "class": 5, + "linearIndex": 4667, + "address": "0xA28cAeDe7DF52338cd62FBdc33d6bFcDEa40b972", + "cellId": "EI-L23-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B18-C5" + }, + { + "lpbca": 23, + "branch": 19, + "class": 0, + "linearIndex": 4668, + "address": "0x7e5141816A3175Ba72a1a5eC2da70C567317c205", + "cellId": "EI-L23-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B19-C0" + }, + { + "lpbca": 23, + "branch": 19, + "class": 1, + "linearIndex": 4669, + "address": "0x253e531cA25d209678a5401e3f6935F1Da2ccF1e", + "cellId": "EI-L23-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B19-C1" + }, + { + "lpbca": 23, + "branch": 19, + "class": 2, + "linearIndex": 4670, + "address": "0x5E021Ae4bD43BBBf087176aC39A0eB2E0b40364b", + "cellId": "EI-L23-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B19-C2" + }, + { + "lpbca": 23, + "branch": 19, + "class": 3, + "linearIndex": 4671, + "address": "0xb83C296eEBF8Aa9E12Cc0c10B4ff0D12D6fb55c9", + "cellId": "EI-L23-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B19-C3" + }, + { + "lpbca": 23, + "branch": 19, + "class": 4, + "linearIndex": 4672, + "address": "0x141a0094323D408113bcb78Afe58bbb0A91a64Ca", + "cellId": "EI-L23-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B19-C4" + }, + { + "lpbca": 23, + "branch": 19, + "class": 5, + "linearIndex": 4673, + "address": "0xA5ce18e09ea63A4C0babfB484d87aD263b25abFa", + "cellId": "EI-L23-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B19-C5" + }, + { + "lpbca": 23, + "branch": 20, + "class": 0, + "linearIndex": 4674, + "address": "0x7C59E97af64bFfE38C4f30D57a9a03FDABB2444B", + "cellId": "EI-L23-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B20-C0" + }, + { + "lpbca": 23, + "branch": 20, + "class": 1, + "linearIndex": 4675, + "address": "0x1bCd557fB1Fb6CEE7A1572A3fb8C0187a1590c73", + "cellId": "EI-L23-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B20-C1" + }, + { + "lpbca": 23, + "branch": 20, + "class": 2, + "linearIndex": 4676, + "address": "0x2eff5CfC266FE21Ac37820c278CFf2077F336114", + "cellId": "EI-L23-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B20-C2" + }, + { + "lpbca": 23, + "branch": 20, + "class": 3, + "linearIndex": 4677, + "address": "0xeCF859f01c263e9e60DB1FA8Aed072fB929316db", + "cellId": "EI-L23-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B20-C3" + }, + { + "lpbca": 23, + "branch": 20, + "class": 4, + "linearIndex": 4678, + "address": "0xc88e4dE58F12fbdE3F4Ff848C44f3bAD7F3F49A5", + "cellId": "EI-L23-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B20-C4" + }, + { + "lpbca": 23, + "branch": 20, + "class": 5, + "linearIndex": 4679, + "address": "0x9fCE4ad417E343Eb8b023b333FcC7fC09623C95a", + "cellId": "EI-L23-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B20-C5" + }, + { + "lpbca": 23, + "branch": 21, + "class": 0, + "linearIndex": 4680, + "address": "0xCD4E91f4D9D250961e8c6B4b2Bcd0E42ef63a664", + "cellId": "EI-L23-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B21-C0" + }, + { + "lpbca": 23, + "branch": 21, + "class": 1, + "linearIndex": 4681, + "address": "0x6d263983729926C3ebDb5bccF6a7f377F41B6D50", + "cellId": "EI-L23-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B21-C1" + }, + { + "lpbca": 23, + "branch": 21, + "class": 2, + "linearIndex": 4682, + "address": "0x8760b24C51e7E2C241605D895D93840d360cE155", + "cellId": "EI-L23-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B21-C2" + }, + { + "lpbca": 23, + "branch": 21, + "class": 3, + "linearIndex": 4683, + "address": "0xA71dA0a082FCbf0Ae387ef47F3f01F0eb4203BeB", + "cellId": "EI-L23-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B21-C3" + }, + { + "lpbca": 23, + "branch": 21, + "class": 4, + "linearIndex": 4684, + "address": "0x7586d437FaEBDB4420Db9CAa9e311d6F8db279B3", + "cellId": "EI-L23-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B21-C4" + }, + { + "lpbca": 23, + "branch": 21, + "class": 5, + "linearIndex": 4685, + "address": "0x7672E3D48Ce57f516C94784315Ff36834d15e852", + "cellId": "EI-L23-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B21-C5" + }, + { + "lpbca": 23, + "branch": 22, + "class": 0, + "linearIndex": 4686, + "address": "0x5597af3Ba3012d52e5225C70fd466728D9F2D4B8", + "cellId": "EI-L23-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B22-C0" + }, + { + "lpbca": 23, + "branch": 22, + "class": 1, + "linearIndex": 4687, + "address": "0xB5dCD76D24BCaDD0cda11747679485fd911115b5", + "cellId": "EI-L23-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B22-C1" + }, + { + "lpbca": 23, + "branch": 22, + "class": 2, + "linearIndex": 4688, + "address": "0x9E61cC8E44599D50641538582E33aD47571CA3C5", + "cellId": "EI-L23-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B22-C2" + }, + { + "lpbca": 23, + "branch": 22, + "class": 3, + "linearIndex": 4689, + "address": "0x124072B8d8B21013A5f7ea922F1B4eE21cF18794", + "cellId": "EI-L23-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B22-C3" + }, + { + "lpbca": 23, + "branch": 22, + "class": 4, + "linearIndex": 4690, + "address": "0xb63dFE363867579efe69E963C49F64F29B81c202", + "cellId": "EI-L23-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B22-C4" + }, + { + "lpbca": 23, + "branch": 22, + "class": 5, + "linearIndex": 4691, + "address": "0xB0e798386e7d8555EA6d063aD8B167817f7B4230", + "cellId": "EI-L23-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B22-C5" + }, + { + "lpbca": 23, + "branch": 23, + "class": 0, + "linearIndex": 4692, + "address": "0xF4B1515984753f3751576ac37A70aacF7B73CFF0", + "cellId": "EI-L23-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B23-C0" + }, + { + "lpbca": 23, + "branch": 23, + "class": 1, + "linearIndex": 4693, + "address": "0xA189B780a0ce772D8a75fB5b33c348DB0340675F", + "cellId": "EI-L23-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B23-C1" + }, + { + "lpbca": 23, + "branch": 23, + "class": 2, + "linearIndex": 4694, + "address": "0xa84e9ebd5D2E2D22ea6EaD76617bA8177EbeB551", + "cellId": "EI-L23-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B23-C2" + }, + { + "lpbca": 23, + "branch": 23, + "class": 3, + "linearIndex": 4695, + "address": "0xBcC37f5A7B95801cda6Dc8f48eE68021C9A70144", + "cellId": "EI-L23-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B23-C3" + }, + { + "lpbca": 23, + "branch": 23, + "class": 4, + "linearIndex": 4696, + "address": "0x082129CcB8E2349BD4fA27d60EfEaB385aE267c3", + "cellId": "EI-L23-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B23-C4" + }, + { + "lpbca": 23, + "branch": 23, + "class": 5, + "linearIndex": 4697, + "address": "0xF807C2605643291F3aBcb8a7aC14fB1ed77c4e2E", + "cellId": "EI-L23-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B23-C5" + }, + { + "lpbca": 23, + "branch": 24, + "class": 0, + "linearIndex": 4698, + "address": "0x1f4324432b9011dBC6C5570dd6B19fD7B04DD04D", + "cellId": "EI-L23-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B24-C0" + }, + { + "lpbca": 23, + "branch": 24, + "class": 1, + "linearIndex": 4699, + "address": "0xC968E9a5042E311B95c88AaA8F29FCC2823bAA3F", + "cellId": "EI-L23-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B24-C1" + }, + { + "lpbca": 23, + "branch": 24, + "class": 2, + "linearIndex": 4700, + "address": "0x6adA94581EaDa8222AD1Eb232b2d707db4A07AbE", + "cellId": "EI-L23-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B24-C2" + }, + { + "lpbca": 23, + "branch": 24, + "class": 3, + "linearIndex": 4701, + "address": "0x07977E3e5caD576050a8eD6A5C48305bf8C1aC4a", + "cellId": "EI-L23-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B24-C3" + }, + { + "lpbca": 23, + "branch": 24, + "class": 4, + "linearIndex": 4702, + "address": "0x657dCe17963a144A4A2296ce4fe8A2f718B85aE3", + "cellId": "EI-L23-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B24-C4" + }, + { + "lpbca": 23, + "branch": 24, + "class": 5, + "linearIndex": 4703, + "address": "0x1C39D5fb5eC23F7613f4F84E494bcB1724cC0806", + "cellId": "EI-L23-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B24-C5" + }, + { + "lpbca": 23, + "branch": 25, + "class": 0, + "linearIndex": 4704, + "address": "0xd9861AA53a096b4D5686f45CB80CF54156B25836", + "cellId": "EI-L23-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B25-C0" + }, + { + "lpbca": 23, + "branch": 25, + "class": 1, + "linearIndex": 4705, + "address": "0xf65E4832cc94F82C80ba19095f62D0b862eBb383", + "cellId": "EI-L23-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B25-C1" + }, + { + "lpbca": 23, + "branch": 25, + "class": 2, + "linearIndex": 4706, + "address": "0x61B71BB21C82436c0948B2694C24459c9F6de284", + "cellId": "EI-L23-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B25-C2" + }, + { + "lpbca": 23, + "branch": 25, + "class": 3, + "linearIndex": 4707, + "address": "0xb34D22Bf31f72f4f98ED6fd1A0338Cd54aF4396b", + "cellId": "EI-L23-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B25-C3" + }, + { + "lpbca": 23, + "branch": 25, + "class": 4, + "linearIndex": 4708, + "address": "0x1d0be8EC8fA46e684734A83050dDeaE43979DcDF", + "cellId": "EI-L23-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B25-C4" + }, + { + "lpbca": 23, + "branch": 25, + "class": 5, + "linearIndex": 4709, + "address": "0xE7427d5d7C3F83E7b98406e992a19F4F69f1222C", + "cellId": "EI-L23-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B25-C5" + }, + { + "lpbca": 23, + "branch": 26, + "class": 0, + "linearIndex": 4710, + "address": "0x111D6a48dD069CA1F95D4fff97da601ED7225706", + "cellId": "EI-L23-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B26-C0" + }, + { + "lpbca": 23, + "branch": 26, + "class": 1, + "linearIndex": 4711, + "address": "0x6EA95765a788b0454Dc2034E6D291348b08e052f", + "cellId": "EI-L23-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B26-C1" + }, + { + "lpbca": 23, + "branch": 26, + "class": 2, + "linearIndex": 4712, + "address": "0x9fA8918072D6eB1fE406107624496517b7C62118", + "cellId": "EI-L23-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B26-C2" + }, + { + "lpbca": 23, + "branch": 26, + "class": 3, + "linearIndex": 4713, + "address": "0x226f7346A88f15352f64307cf6Fa662c96bf268D", + "cellId": "EI-L23-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B26-C3" + }, + { + "lpbca": 23, + "branch": 26, + "class": 4, + "linearIndex": 4714, + "address": "0x1275b1c6e19d3D66f189B7bf1e3fa64E12F91139", + "cellId": "EI-L23-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B26-C4" + }, + { + "lpbca": 23, + "branch": 26, + "class": 5, + "linearIndex": 4715, + "address": "0x8cC3eBf99F9c47bBE9159dC62690f228ED32e042", + "cellId": "EI-L23-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B26-C5" + }, + { + "lpbca": 23, + "branch": 27, + "class": 0, + "linearIndex": 4716, + "address": "0xf05Dcd9C27f2C5E5104Bc8e88deFDc464d8D1Cb1", + "cellId": "EI-L23-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B27-C0" + }, + { + "lpbca": 23, + "branch": 27, + "class": 1, + "linearIndex": 4717, + "address": "0xa51C1c7C9b03454656B7DC7c2e467F0985893D0E", + "cellId": "EI-L23-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B27-C1" + }, + { + "lpbca": 23, + "branch": 27, + "class": 2, + "linearIndex": 4718, + "address": "0x210Bd9296C5e6045b4E5dec3deE3365974EC83ef", + "cellId": "EI-L23-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B27-C2" + }, + { + "lpbca": 23, + "branch": 27, + "class": 3, + "linearIndex": 4719, + "address": "0x96033672dA58bc927003787Cae3C0D272343C478", + "cellId": "EI-L23-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B27-C3" + }, + { + "lpbca": 23, + "branch": 27, + "class": 4, + "linearIndex": 4720, + "address": "0x97Cf049C58DdaCa329566c545D6053f97E5855Fa", + "cellId": "EI-L23-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B27-C4" + }, + { + "lpbca": 23, + "branch": 27, + "class": 5, + "linearIndex": 4721, + "address": "0x9F5B25066daE82d1Dc912464579F1770F40B504F", + "cellId": "EI-L23-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B27-C5" + }, + { + "lpbca": 23, + "branch": 28, + "class": 0, + "linearIndex": 4722, + "address": "0xBd9d51F29763B6a9A2d86D5171914bF0a7E5cbf8", + "cellId": "EI-L23-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B28-C0" + }, + { + "lpbca": 23, + "branch": 28, + "class": 1, + "linearIndex": 4723, + "address": "0x60239dA542CB2a9b88ff76e84867311813153b56", + "cellId": "EI-L23-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B28-C1" + }, + { + "lpbca": 23, + "branch": 28, + "class": 2, + "linearIndex": 4724, + "address": "0xC92Ba4bbcD8506513f1854358F11a3d2e8da5F90", + "cellId": "EI-L23-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B28-C2" + }, + { + "lpbca": 23, + "branch": 28, + "class": 3, + "linearIndex": 4725, + "address": "0xE427Ee06B8c2cA8f25Db038ec9D57c4ffE78Ef31", + "cellId": "EI-L23-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B28-C3" + }, + { + "lpbca": 23, + "branch": 28, + "class": 4, + "linearIndex": 4726, + "address": "0x714c9E0514D3EFD82f0F23f1ec3E5ff72feF17f5", + "cellId": "EI-L23-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B28-C4" + }, + { + "lpbca": 23, + "branch": 28, + "class": 5, + "linearIndex": 4727, + "address": "0x0Dea78e82364fD6ab0C1ffAF26D8956EF1503E4f", + "cellId": "EI-L23-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B28-C5" + }, + { + "lpbca": 23, + "branch": 29, + "class": 0, + "linearIndex": 4728, + "address": "0x6aFCA1092593e572D5027dA3DBcaBCA96F0495Ff", + "cellId": "EI-L23-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B29-C0" + }, + { + "lpbca": 23, + "branch": 29, + "class": 1, + "linearIndex": 4729, + "address": "0x3bA8a44EE999A8ebE60E731bD8A3b5b4c99de989", + "cellId": "EI-L23-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B29-C1" + }, + { + "lpbca": 23, + "branch": 29, + "class": 2, + "linearIndex": 4730, + "address": "0xF25d17DF72bD41578596165aDFfa6B19D33029A5", + "cellId": "EI-L23-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B29-C2" + }, + { + "lpbca": 23, + "branch": 29, + "class": 3, + "linearIndex": 4731, + "address": "0xc88bd9cE2Ae8Ee33974f61183A025FB6FdB698f0", + "cellId": "EI-L23-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B29-C3" + }, + { + "lpbca": 23, + "branch": 29, + "class": 4, + "linearIndex": 4732, + "address": "0x6cF20e85dE7BA3378d53a5de2224B01985180Ee7", + "cellId": "EI-L23-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B29-C4" + }, + { + "lpbca": 23, + "branch": 29, + "class": 5, + "linearIndex": 4733, + "address": "0x409ed15a248e768790AA6b84530287EDC19e8c59", + "cellId": "EI-L23-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B29-C5" + }, + { + "lpbca": 23, + "branch": 30, + "class": 0, + "linearIndex": 4734, + "address": "0x7176c1CEac90Fabe5Fbbd90fe81C2bCD6bb0322A", + "cellId": "EI-L23-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B30-C0" + }, + { + "lpbca": 23, + "branch": 30, + "class": 1, + "linearIndex": 4735, + "address": "0xE0e98B493e5e162a2b8273D0c4b5346b3f7424B3", + "cellId": "EI-L23-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B30-C1" + }, + { + "lpbca": 23, + "branch": 30, + "class": 2, + "linearIndex": 4736, + "address": "0xb340fcBb2B79527bA7B260a5217c4Cd446fBAD79", + "cellId": "EI-L23-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B30-C2" + }, + { + "lpbca": 23, + "branch": 30, + "class": 3, + "linearIndex": 4737, + "address": "0xA26b566A70d277B5FC24eec56EB876865B9E8Ab7", + "cellId": "EI-L23-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B30-C3" + }, + { + "lpbca": 23, + "branch": 30, + "class": 4, + "linearIndex": 4738, + "address": "0x27770e13d2FaE5b664391D937916FAa85c56bEC0", + "cellId": "EI-L23-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B30-C4" + }, + { + "lpbca": 23, + "branch": 30, + "class": 5, + "linearIndex": 4739, + "address": "0xC65Bd693120e40b88d00D062ae4A1951522b49af", + "cellId": "EI-L23-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B30-C5" + }, + { + "lpbca": 23, + "branch": 31, + "class": 0, + "linearIndex": 4740, + "address": "0xc69e19b03a7565Bf123251331D875099C08DD4Cd", + "cellId": "EI-L23-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B31-C0" + }, + { + "lpbca": 23, + "branch": 31, + "class": 1, + "linearIndex": 4741, + "address": "0xa1e12E85492A5b120543D91A9f9AA2ECea5cb543", + "cellId": "EI-L23-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B31-C1" + }, + { + "lpbca": 23, + "branch": 31, + "class": 2, + "linearIndex": 4742, + "address": "0x06345659783dFE60E6E07aF24d88D2Ae9df9Ee56", + "cellId": "EI-L23-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B31-C2" + }, + { + "lpbca": 23, + "branch": 31, + "class": 3, + "linearIndex": 4743, + "address": "0xee0BAFaAe32DA735ad301D22CDB1bd5D37317B30", + "cellId": "EI-L23-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B31-C3" + }, + { + "lpbca": 23, + "branch": 31, + "class": 4, + "linearIndex": 4744, + "address": "0x378276234334312783b5413BA8801E5ABa562592", + "cellId": "EI-L23-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B31-C4" + }, + { + "lpbca": 23, + "branch": 31, + "class": 5, + "linearIndex": 4745, + "address": "0xDdCbB8fAa630d625AF316EDC728A091F76e0d580", + "cellId": "EI-L23-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B31-C5" + }, + { + "lpbca": 23, + "branch": 32, + "class": 0, + "linearIndex": 4746, + "address": "0x38Ff6c276CF1c7d7c44691F88fd84c656dC48917", + "cellId": "EI-L23-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B32-C0" + }, + { + "lpbca": 23, + "branch": 32, + "class": 1, + "linearIndex": 4747, + "address": "0x0B1fc1eB781C13038Eeab5a1B5D14C18C3720BC2", + "cellId": "EI-L23-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B32-C1" + }, + { + "lpbca": 23, + "branch": 32, + "class": 2, + "linearIndex": 4748, + "address": "0xD2B746c30b65040E4F6290fAA765389798B8fF3E", + "cellId": "EI-L23-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B32-C2" + }, + { + "lpbca": 23, + "branch": 32, + "class": 3, + "linearIndex": 4749, + "address": "0xa756B69B862Ffc48DA47B55593E61022a560e8B9", + "cellId": "EI-L23-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B32-C3" + }, + { + "lpbca": 23, + "branch": 32, + "class": 4, + "linearIndex": 4750, + "address": "0xFc7c4Cc66B9A8685d094A444A401C48b7B27dBD2", + "cellId": "EI-L23-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B32-C4" + }, + { + "lpbca": 23, + "branch": 32, + "class": 5, + "linearIndex": 4751, + "address": "0x80A4af6324c78b10D0dbDCcCdb36FE6706422044", + "cellId": "EI-L23-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L23-B32-C5" + }, + { + "lpbca": 24, + "branch": 0, + "class": 0, + "linearIndex": 4752, + "address": "0x2451d2B21230811F07848384B6F022C7ce091A16", + "cellId": "EI-L24-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B00-C0" + }, + { + "lpbca": 24, + "branch": 0, + "class": 1, + "linearIndex": 4753, + "address": "0x59d1A71EA506CcC2D11FD63cA81829BBc7a867c9", + "cellId": "EI-L24-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B00-C1" + }, + { + "lpbca": 24, + "branch": 0, + "class": 2, + "linearIndex": 4754, + "address": "0x68959720fc4b61D0fbCA296F7C88996DDD07Ed87", + "cellId": "EI-L24-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B00-C2" + }, + { + "lpbca": 24, + "branch": 0, + "class": 3, + "linearIndex": 4755, + "address": "0xC2b556d00e5CFE5E898a2D3872293b2FB3C815Fe", + "cellId": "EI-L24-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B00-C3" + }, + { + "lpbca": 24, + "branch": 0, + "class": 4, + "linearIndex": 4756, + "address": "0xBA77d02b8d5eC9599C6a9D1Eb43873EF5C87a4a5", + "cellId": "EI-L24-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B00-C4" + }, + { + "lpbca": 24, + "branch": 0, + "class": 5, + "linearIndex": 4757, + "address": "0xC10eA9160C11923577bc3757Ef2F7F4c5DbFF1a8", + "cellId": "EI-L24-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B00-C5" + }, + { + "lpbca": 24, + "branch": 1, + "class": 0, + "linearIndex": 4758, + "address": "0x6ddF0F91D25844743e631766ea65F8B5ea93a4Ae", + "cellId": "EI-L24-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B01-C0" + }, + { + "lpbca": 24, + "branch": 1, + "class": 1, + "linearIndex": 4759, + "address": "0xfb050E21c2922fe05a6Ae469255825d0B4c69923", + "cellId": "EI-L24-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B01-C1" + }, + { + "lpbca": 24, + "branch": 1, + "class": 2, + "linearIndex": 4760, + "address": "0x45A469a55c22Dc97Dc33146A0D5e0DFed0dE4eea", + "cellId": "EI-L24-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B01-C2" + }, + { + "lpbca": 24, + "branch": 1, + "class": 3, + "linearIndex": 4761, + "address": "0x27BA2facECD05C646bf56449D9C286Be22c56D72", + "cellId": "EI-L24-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B01-C3" + }, + { + "lpbca": 24, + "branch": 1, + "class": 4, + "linearIndex": 4762, + "address": "0x65D40e028F556B98a39bfC02E8c6231739c558c3", + "cellId": "EI-L24-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B01-C4" + }, + { + "lpbca": 24, + "branch": 1, + "class": 5, + "linearIndex": 4763, + "address": "0x497306FF0dde2A371d7EC05D3F2A25872A48a814", + "cellId": "EI-L24-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B01-C5" + }, + { + "lpbca": 24, + "branch": 2, + "class": 0, + "linearIndex": 4764, + "address": "0x2ca3980BD5ab16681062FF1f16cD4D8C0975fed1", + "cellId": "EI-L24-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B02-C0" + }, + { + "lpbca": 24, + "branch": 2, + "class": 1, + "linearIndex": 4765, + "address": "0x6CB3C032Ed150a4A64236d7569d9EAB8CB084BcF", + "cellId": "EI-L24-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B02-C1" + }, + { + "lpbca": 24, + "branch": 2, + "class": 2, + "linearIndex": 4766, + "address": "0xCB5aC48a2d13d721d83D23F941095141ADb32A0f", + "cellId": "EI-L24-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B02-C2" + }, + { + "lpbca": 24, + "branch": 2, + "class": 3, + "linearIndex": 4767, + "address": "0x507c2249789aAC6b5027F12dA82C8aB302D177E3", + "cellId": "EI-L24-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B02-C3" + }, + { + "lpbca": 24, + "branch": 2, + "class": 4, + "linearIndex": 4768, + "address": "0x2eadb04D6047642D8741e42E5cbff4bca40eBc27", + "cellId": "EI-L24-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B02-C4" + }, + { + "lpbca": 24, + "branch": 2, + "class": 5, + "linearIndex": 4769, + "address": "0x1Cb7788CcC637fF1D29bC6c895D6DB1e5cEa9DA1", + "cellId": "EI-L24-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B02-C5" + }, + { + "lpbca": 24, + "branch": 3, + "class": 0, + "linearIndex": 4770, + "address": "0x8C7fEF48DA2B9102b20C125cEAA12DCBAaE492cE", + "cellId": "EI-L24-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B03-C0" + }, + { + "lpbca": 24, + "branch": 3, + "class": 1, + "linearIndex": 4771, + "address": "0xC842737B1F8287e4A1D02B8D0b7e1188a21a2573", + "cellId": "EI-L24-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B03-C1" + }, + { + "lpbca": 24, + "branch": 3, + "class": 2, + "linearIndex": 4772, + "address": "0x765854A6500817FD8e812dE15DB728687E81Bd80", + "cellId": "EI-L24-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B03-C2" + }, + { + "lpbca": 24, + "branch": 3, + "class": 3, + "linearIndex": 4773, + "address": "0x8f7b59815C352F76891b1e3c487c191963f4C90F", + "cellId": "EI-L24-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B03-C3" + }, + { + "lpbca": 24, + "branch": 3, + "class": 4, + "linearIndex": 4774, + "address": "0x1731A519Ab8C8128d84a8DF149d515c07Ae5d4f6", + "cellId": "EI-L24-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B03-C4" + }, + { + "lpbca": 24, + "branch": 3, + "class": 5, + "linearIndex": 4775, + "address": "0xa2DAa21c928a3B2C0764b0E8b116dE4562555F76", + "cellId": "EI-L24-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B03-C5" + }, + { + "lpbca": 24, + "branch": 4, + "class": 0, + "linearIndex": 4776, + "address": "0xe73EE882331Ff2777c585C3658be3205F56D5b12", + "cellId": "EI-L24-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B04-C0" + }, + { + "lpbca": 24, + "branch": 4, + "class": 1, + "linearIndex": 4777, + "address": "0x559E74Eb7b328b18Dc9b07122d57Df4d647dbF47", + "cellId": "EI-L24-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B04-C1" + }, + { + "lpbca": 24, + "branch": 4, + "class": 2, + "linearIndex": 4778, + "address": "0xf23c071C43A063fc9667Cd7a5446395eB322dB04", + "cellId": "EI-L24-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B04-C2" + }, + { + "lpbca": 24, + "branch": 4, + "class": 3, + "linearIndex": 4779, + "address": "0xe5F7b4cF51bE9a0Ed34970948eB47dcb705447e3", + "cellId": "EI-L24-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B04-C3" + }, + { + "lpbca": 24, + "branch": 4, + "class": 4, + "linearIndex": 4780, + "address": "0xF1dDD59966d644b45b1B2E8Faafa79AE9c55FaA5", + "cellId": "EI-L24-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B04-C4" + }, + { + "lpbca": 24, + "branch": 4, + "class": 5, + "linearIndex": 4781, + "address": "0x9284800981b4adb906329977dd2d2Fa0954eBD59", + "cellId": "EI-L24-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B04-C5" + }, + { + "lpbca": 24, + "branch": 5, + "class": 0, + "linearIndex": 4782, + "address": "0xB7E8FC74Ba11f32E3B8C915e9E84d312D5158CFf", + "cellId": "EI-L24-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B05-C0" + }, + { + "lpbca": 24, + "branch": 5, + "class": 1, + "linearIndex": 4783, + "address": "0x5a954d912954604400Fe8feC4E7B0A97813f6DDa", + "cellId": "EI-L24-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B05-C1" + }, + { + "lpbca": 24, + "branch": 5, + "class": 2, + "linearIndex": 4784, + "address": "0x82674207A53b0988FCCFCC9a563B72Ba28481cAa", + "cellId": "EI-L24-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B05-C2" + }, + { + "lpbca": 24, + "branch": 5, + "class": 3, + "linearIndex": 4785, + "address": "0x589D5548122ACb640217cB367F288B250a97AAc1", + "cellId": "EI-L24-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B05-C3" + }, + { + "lpbca": 24, + "branch": 5, + "class": 4, + "linearIndex": 4786, + "address": "0x9ECA7a29214D8c08B3bdfFafB5581848A0d2e492", + "cellId": "EI-L24-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B05-C4" + }, + { + "lpbca": 24, + "branch": 5, + "class": 5, + "linearIndex": 4787, + "address": "0xcBB0463e585d3A7a4dB67DF389f3070D93f01760", + "cellId": "EI-L24-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B05-C5" + }, + { + "lpbca": 24, + "branch": 6, + "class": 0, + "linearIndex": 4788, + "address": "0xE044563f713058B3f65A11c7D040E569f31CE451", + "cellId": "EI-L24-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B06-C0" + }, + { + "lpbca": 24, + "branch": 6, + "class": 1, + "linearIndex": 4789, + "address": "0x12260C11B146c511464389FEA742fb904E207Ee6", + "cellId": "EI-L24-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B06-C1" + }, + { + "lpbca": 24, + "branch": 6, + "class": 2, + "linearIndex": 4790, + "address": "0x1b95541E7844Bc6c29A5431F2001608A705c760C", + "cellId": "EI-L24-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B06-C2" + }, + { + "lpbca": 24, + "branch": 6, + "class": 3, + "linearIndex": 4791, + "address": "0xB235bd7eC05Ea3A3DD53e7cEF0F6518a967EBf12", + "cellId": "EI-L24-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B06-C3" + }, + { + "lpbca": 24, + "branch": 6, + "class": 4, + "linearIndex": 4792, + "address": "0xD22E60a99F870b87De92d7B2053D5c9636B8013d", + "cellId": "EI-L24-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B06-C4" + }, + { + "lpbca": 24, + "branch": 6, + "class": 5, + "linearIndex": 4793, + "address": "0x2e50556c6715Aa367C7c68bc105E9347cC10A05F", + "cellId": "EI-L24-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B06-C5" + }, + { + "lpbca": 24, + "branch": 7, + "class": 0, + "linearIndex": 4794, + "address": "0x3619F39F4361dc32c8B972dce722810adC6bA5Df", + "cellId": "EI-L24-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B07-C0" + }, + { + "lpbca": 24, + "branch": 7, + "class": 1, + "linearIndex": 4795, + "address": "0x3d8c97bC278911C6B88aea37AF809a3F95B3bDB5", + "cellId": "EI-L24-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B07-C1" + }, + { + "lpbca": 24, + "branch": 7, + "class": 2, + "linearIndex": 4796, + "address": "0xF8a2639881D7A4c2A881C573CD43695172a25cCB", + "cellId": "EI-L24-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B07-C2" + }, + { + "lpbca": 24, + "branch": 7, + "class": 3, + "linearIndex": 4797, + "address": "0x6999bFE70BC07215a11EB936C892B87714021B6C", + "cellId": "EI-L24-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B07-C3" + }, + { + "lpbca": 24, + "branch": 7, + "class": 4, + "linearIndex": 4798, + "address": "0x4C89eF69Af63a356857DC0D70a9B0e20B5220559", + "cellId": "EI-L24-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B07-C4" + }, + { + "lpbca": 24, + "branch": 7, + "class": 5, + "linearIndex": 4799, + "address": "0x35DB4e4Db9dACF836a3028c6321CC53E54571fd2", + "cellId": "EI-L24-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B07-C5" + }, + { + "lpbca": 24, + "branch": 8, + "class": 0, + "linearIndex": 4800, + "address": "0x76a7294e1BC5Ea0191265416499e581848442CC1", + "cellId": "EI-L24-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B08-C0" + }, + { + "lpbca": 24, + "branch": 8, + "class": 1, + "linearIndex": 4801, + "address": "0xC4b082D33251da8D843ED9948AcC55114C9CF966", + "cellId": "EI-L24-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B08-C1" + }, + { + "lpbca": 24, + "branch": 8, + "class": 2, + "linearIndex": 4802, + "address": "0x13a78E0dF7ECBdeeD2cD4cEd023275F7D58eedE1", + "cellId": "EI-L24-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B08-C2" + }, + { + "lpbca": 24, + "branch": 8, + "class": 3, + "linearIndex": 4803, + "address": "0x15d0A1d0cC5D72805e1e91aD78d6aB803724a0Bd", + "cellId": "EI-L24-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B08-C3" + }, + { + "lpbca": 24, + "branch": 8, + "class": 4, + "linearIndex": 4804, + "address": "0xd919A00dd4858B156D162c20377a9ACd24a707c2", + "cellId": "EI-L24-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B08-C4" + }, + { + "lpbca": 24, + "branch": 8, + "class": 5, + "linearIndex": 4805, + "address": "0x0089559cCB00e1F9910971A38ba3A6c3c179e5Bb", + "cellId": "EI-L24-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B08-C5" + }, + { + "lpbca": 24, + "branch": 9, + "class": 0, + "linearIndex": 4806, + "address": "0x01a1a5e94Bff6DA40401FC767a6aa98D6eC11C25", + "cellId": "EI-L24-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B09-C0" + }, + { + "lpbca": 24, + "branch": 9, + "class": 1, + "linearIndex": 4807, + "address": "0x3FB508B20531fD7D4AB81156b940C42988256a71", + "cellId": "EI-L24-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B09-C1" + }, + { + "lpbca": 24, + "branch": 9, + "class": 2, + "linearIndex": 4808, + "address": "0xefD1E90eD7B9C08880d5f441a61f15eb0D2b1e15", + "cellId": "EI-L24-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B09-C2" + }, + { + "lpbca": 24, + "branch": 9, + "class": 3, + "linearIndex": 4809, + "address": "0xC89b27c4483CEF1B8BC73241D3077A7bb539C7c2", + "cellId": "EI-L24-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B09-C3" + }, + { + "lpbca": 24, + "branch": 9, + "class": 4, + "linearIndex": 4810, + "address": "0xe17e7Cde2204D838b7438a2bd8aB3C2055087FA1", + "cellId": "EI-L24-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B09-C4" + }, + { + "lpbca": 24, + "branch": 9, + "class": 5, + "linearIndex": 4811, + "address": "0x421C6B951b93b73a2486F80f4ACFcb6920bb936E", + "cellId": "EI-L24-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B09-C5" + }, + { + "lpbca": 24, + "branch": 10, + "class": 0, + "linearIndex": 4812, + "address": "0xDf0c7794EA90a005A7E8E0a651d2f434670A1D0f", + "cellId": "EI-L24-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B10-C0" + }, + { + "lpbca": 24, + "branch": 10, + "class": 1, + "linearIndex": 4813, + "address": "0x2879E5Fb7fe64B03DF4297Ad369B397a234a4578", + "cellId": "EI-L24-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B10-C1" + }, + { + "lpbca": 24, + "branch": 10, + "class": 2, + "linearIndex": 4814, + "address": "0x11BCbF12c1890c374D46aF3489496EA7D7CB5908", + "cellId": "EI-L24-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B10-C2" + }, + { + "lpbca": 24, + "branch": 10, + "class": 3, + "linearIndex": 4815, + "address": "0x21D0ef13Bfa1B8cC97481Fcf35c50e01B170c0Bf", + "cellId": "EI-L24-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B10-C3" + }, + { + "lpbca": 24, + "branch": 10, + "class": 4, + "linearIndex": 4816, + "address": "0x6CBe133D46F74da4B9c00fB83604B1eD1c3Ee76b", + "cellId": "EI-L24-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B10-C4" + }, + { + "lpbca": 24, + "branch": 10, + "class": 5, + "linearIndex": 4817, + "address": "0x08748dC0C281f95AA045096331CD6608aC1429e8", + "cellId": "EI-L24-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B10-C5" + }, + { + "lpbca": 24, + "branch": 11, + "class": 0, + "linearIndex": 4818, + "address": "0xf2D56Be110125ca3a4dC8D1E51bE05DbE6ee9faf", + "cellId": "EI-L24-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B11-C0" + }, + { + "lpbca": 24, + "branch": 11, + "class": 1, + "linearIndex": 4819, + "address": "0x0D0CFFFA01fB4c572bC5673414a82bB63E2c6eCd", + "cellId": "EI-L24-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B11-C1" + }, + { + "lpbca": 24, + "branch": 11, + "class": 2, + "linearIndex": 4820, + "address": "0x73B2216FE09A291341c0A470ecd408303E4F274F", + "cellId": "EI-L24-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B11-C2" + }, + { + "lpbca": 24, + "branch": 11, + "class": 3, + "linearIndex": 4821, + "address": "0x8633D81Cd594c28D47b54745d218D0388FA25131", + "cellId": "EI-L24-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B11-C3" + }, + { + "lpbca": 24, + "branch": 11, + "class": 4, + "linearIndex": 4822, + "address": "0xb715ecf554bc2C1A0f43874b7aC443F1955230a6", + "cellId": "EI-L24-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B11-C4" + }, + { + "lpbca": 24, + "branch": 11, + "class": 5, + "linearIndex": 4823, + "address": "0x0d3Fd061D9bb14BFEADA1c2B038B3bAd7bd080dd", + "cellId": "EI-L24-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B11-C5" + }, + { + "lpbca": 24, + "branch": 12, + "class": 0, + "linearIndex": 4824, + "address": "0x0AC524252e9f1D6D1ec3fC7901260aAbF1301144", + "cellId": "EI-L24-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B12-C0" + }, + { + "lpbca": 24, + "branch": 12, + "class": 1, + "linearIndex": 4825, + "address": "0x4EA1397AdF991d7aa63a66F7C273D250c7aa64E6", + "cellId": "EI-L24-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B12-C1" + }, + { + "lpbca": 24, + "branch": 12, + "class": 2, + "linearIndex": 4826, + "address": "0x70259CaD53b881a93712492f101b57f841fDc735", + "cellId": "EI-L24-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B12-C2" + }, + { + "lpbca": 24, + "branch": 12, + "class": 3, + "linearIndex": 4827, + "address": "0x1766c9B22c4853F46A0f5A42495FaA276f404184", + "cellId": "EI-L24-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B12-C3" + }, + { + "lpbca": 24, + "branch": 12, + "class": 4, + "linearIndex": 4828, + "address": "0x6036eF541947DfEB742e6F1A1dfc21F5973DBda0", + "cellId": "EI-L24-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B12-C4" + }, + { + "lpbca": 24, + "branch": 12, + "class": 5, + "linearIndex": 4829, + "address": "0x4e73aCA43Cb2733fe57A9419878388ee4BB6FbD3", + "cellId": "EI-L24-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B12-C5" + }, + { + "lpbca": 24, + "branch": 13, + "class": 0, + "linearIndex": 4830, + "address": "0x9Ca467E63aF09CeFCbd3CDfBd85CCF746DdAB0D1", + "cellId": "EI-L24-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B13-C0" + }, + { + "lpbca": 24, + "branch": 13, + "class": 1, + "linearIndex": 4831, + "address": "0x54F746E08c2fC272925BbBF021C42525AAbb75Cd", + "cellId": "EI-L24-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B13-C1" + }, + { + "lpbca": 24, + "branch": 13, + "class": 2, + "linearIndex": 4832, + "address": "0xEe36fa03F31C3f5E7AcC2d8b85899eBeacbde659", + "cellId": "EI-L24-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B13-C2" + }, + { + "lpbca": 24, + "branch": 13, + "class": 3, + "linearIndex": 4833, + "address": "0xf25Eb82e9F428723A812Be6b6470B9D8a4942505", + "cellId": "EI-L24-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B13-C3" + }, + { + "lpbca": 24, + "branch": 13, + "class": 4, + "linearIndex": 4834, + "address": "0x3e3297Aa206628760193dD7d255c97b8082e5F16", + "cellId": "EI-L24-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B13-C4" + }, + { + "lpbca": 24, + "branch": 13, + "class": 5, + "linearIndex": 4835, + "address": "0xAF9176Fa2C66577D4aF1Ed2F354437d4d8501Aae", + "cellId": "EI-L24-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B13-C5" + }, + { + "lpbca": 24, + "branch": 14, + "class": 0, + "linearIndex": 4836, + "address": "0x878A6AC8567D2aAE32bD9E1a4d3e226226EE3E24", + "cellId": "EI-L24-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B14-C0" + }, + { + "lpbca": 24, + "branch": 14, + "class": 1, + "linearIndex": 4837, + "address": "0x472c26F6aE7b9976300C6eb8427f3B8a15E8a30f", + "cellId": "EI-L24-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B14-C1" + }, + { + "lpbca": 24, + "branch": 14, + "class": 2, + "linearIndex": 4838, + "address": "0xDA3CCC7ce775a9cf1e0b107445FF2D78a7aEb2a2", + "cellId": "EI-L24-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B14-C2" + }, + { + "lpbca": 24, + "branch": 14, + "class": 3, + "linearIndex": 4839, + "address": "0xFb618D9E66bCa3739f3bEAfabEb6B9dd2971867c", + "cellId": "EI-L24-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B14-C3" + }, + { + "lpbca": 24, + "branch": 14, + "class": 4, + "linearIndex": 4840, + "address": "0x15D8394A8A6130593BFEAa20862299021485D2A2", + "cellId": "EI-L24-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B14-C4" + }, + { + "lpbca": 24, + "branch": 14, + "class": 5, + "linearIndex": 4841, + "address": "0xA0b87C5142C3D846eE2C654Aa63c5F008c23BEc7", + "cellId": "EI-L24-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B14-C5" + }, + { + "lpbca": 24, + "branch": 15, + "class": 0, + "linearIndex": 4842, + "address": "0xd57B144E52C84B10831fE9C7353f6149F58cB00c", + "cellId": "EI-L24-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B15-C0" + }, + { + "lpbca": 24, + "branch": 15, + "class": 1, + "linearIndex": 4843, + "address": "0xe599fd4f261c6a7cdaf4447503B01AD37dAE013B", + "cellId": "EI-L24-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B15-C1" + }, + { + "lpbca": 24, + "branch": 15, + "class": 2, + "linearIndex": 4844, + "address": "0xF3fcbF3913BF2806212287d04263E1b12BF50167", + "cellId": "EI-L24-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B15-C2" + }, + { + "lpbca": 24, + "branch": 15, + "class": 3, + "linearIndex": 4845, + "address": "0x3aDd2BEac564f62C0A2a6EaC04a2fFA58dc4855B", + "cellId": "EI-L24-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B15-C3" + }, + { + "lpbca": 24, + "branch": 15, + "class": 4, + "linearIndex": 4846, + "address": "0x84C04040179a1222eC47BeeD8c255FBa7194e98D", + "cellId": "EI-L24-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B15-C4" + }, + { + "lpbca": 24, + "branch": 15, + "class": 5, + "linearIndex": 4847, + "address": "0xc85f0fcff396A781621bae37Db4C84f94EAd21f6", + "cellId": "EI-L24-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B15-C5" + }, + { + "lpbca": 24, + "branch": 16, + "class": 0, + "linearIndex": 4848, + "address": "0x8e4B2D45870aAE66AE4882CcbB5CF357898d5FAf", + "cellId": "EI-L24-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B16-C0" + }, + { + "lpbca": 24, + "branch": 16, + "class": 1, + "linearIndex": 4849, + "address": "0xB512135f4E691694D888c6310EF88DbA7CE4Bc81", + "cellId": "EI-L24-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B16-C1" + }, + { + "lpbca": 24, + "branch": 16, + "class": 2, + "linearIndex": 4850, + "address": "0xcaCB1B9889011A926567d49D3283Fc36a9c0eF37", + "cellId": "EI-L24-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B16-C2" + }, + { + "lpbca": 24, + "branch": 16, + "class": 3, + "linearIndex": 4851, + "address": "0x3a2737dfce2a39f0331a5F7aA090a1E2D23f8283", + "cellId": "EI-L24-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B16-C3" + }, + { + "lpbca": 24, + "branch": 16, + "class": 4, + "linearIndex": 4852, + "address": "0x0437aEEA7eABDdDE5a8bEaaf4DE347bBF5f5074c", + "cellId": "EI-L24-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B16-C4" + }, + { + "lpbca": 24, + "branch": 16, + "class": 5, + "linearIndex": 4853, + "address": "0x7EB5f976044a4625aDB82A534F32b40d344Ed073", + "cellId": "EI-L24-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B16-C5" + }, + { + "lpbca": 24, + "branch": 17, + "class": 0, + "linearIndex": 4854, + "address": "0x56E59Dc4c7eDA75eabe254E492D3039c2c97e3D7", + "cellId": "EI-L24-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B17-C0" + }, + { + "lpbca": 24, + "branch": 17, + "class": 1, + "linearIndex": 4855, + "address": "0x9F14e8b1eDaa01A24243ABB2C9F21567FfFC4373", + "cellId": "EI-L24-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B17-C1" + }, + { + "lpbca": 24, + "branch": 17, + "class": 2, + "linearIndex": 4856, + "address": "0x3612882f954516e97E17Bcc0c444506e4a59031c", + "cellId": "EI-L24-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B17-C2" + }, + { + "lpbca": 24, + "branch": 17, + "class": 3, + "linearIndex": 4857, + "address": "0x7F15b44DBCB2f7235ebe534e20D6AEe03ff3266a", + "cellId": "EI-L24-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B17-C3" + }, + { + "lpbca": 24, + "branch": 17, + "class": 4, + "linearIndex": 4858, + "address": "0x5356EE30AE867FE703a3Cf3d57393C66750B1162", + "cellId": "EI-L24-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B17-C4" + }, + { + "lpbca": 24, + "branch": 17, + "class": 5, + "linearIndex": 4859, + "address": "0x04bcA3b52EAe675980bfEADbb6010E3b05f38950", + "cellId": "EI-L24-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B17-C5" + }, + { + "lpbca": 24, + "branch": 18, + "class": 0, + "linearIndex": 4860, + "address": "0x4006FFda513940669D73641974617a93a51db58A", + "cellId": "EI-L24-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B18-C0" + }, + { + "lpbca": 24, + "branch": 18, + "class": 1, + "linearIndex": 4861, + "address": "0x009D68f3480c03F953A760c4455da7b0FafF7D43", + "cellId": "EI-L24-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B18-C1" + }, + { + "lpbca": 24, + "branch": 18, + "class": 2, + "linearIndex": 4862, + "address": "0x71172f85ee7792784DedB5056aE243dA36055886", + "cellId": "EI-L24-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B18-C2" + }, + { + "lpbca": 24, + "branch": 18, + "class": 3, + "linearIndex": 4863, + "address": "0xaCd9baF8ACE1764DE129498E8d66cE5CBe9A363d", + "cellId": "EI-L24-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B18-C3" + }, + { + "lpbca": 24, + "branch": 18, + "class": 4, + "linearIndex": 4864, + "address": "0xAb3A8a9A4Cc41de4971518F002477BbEB233bbCB", + "cellId": "EI-L24-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B18-C4" + }, + { + "lpbca": 24, + "branch": 18, + "class": 5, + "linearIndex": 4865, + "address": "0xfF7e64e7A051BE8Aa4AdE41777aD610C03DebeaA", + "cellId": "EI-L24-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B18-C5" + }, + { + "lpbca": 24, + "branch": 19, + "class": 0, + "linearIndex": 4866, + "address": "0xbb264D71bc95A22A3583f870DFDecfb6F02D8545", + "cellId": "EI-L24-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B19-C0" + }, + { + "lpbca": 24, + "branch": 19, + "class": 1, + "linearIndex": 4867, + "address": "0xAd8B9aEbd384A5D2e659A21Ce9F2ecd25173D8Ef", + "cellId": "EI-L24-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B19-C1" + }, + { + "lpbca": 24, + "branch": 19, + "class": 2, + "linearIndex": 4868, + "address": "0xc965C1ecDbe8C1C0687a25b4088af08c60a2C1f0", + "cellId": "EI-L24-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B19-C2" + }, + { + "lpbca": 24, + "branch": 19, + "class": 3, + "linearIndex": 4869, + "address": "0x16557912189857292CAc9069D4056046dbDF0Cf9", + "cellId": "EI-L24-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B19-C3" + }, + { + "lpbca": 24, + "branch": 19, + "class": 4, + "linearIndex": 4870, + "address": "0xAaA2D1C52E1fC2DBBaFBD11d5487245c347b627D", + "cellId": "EI-L24-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B19-C4" + }, + { + "lpbca": 24, + "branch": 19, + "class": 5, + "linearIndex": 4871, + "address": "0x9414C05286414474dAa9fE7B314452734B0802d2", + "cellId": "EI-L24-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B19-C5" + }, + { + "lpbca": 24, + "branch": 20, + "class": 0, + "linearIndex": 4872, + "address": "0x6599F5CE427C4A7C24EF5c73F858005925F181D0", + "cellId": "EI-L24-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B20-C0" + }, + { + "lpbca": 24, + "branch": 20, + "class": 1, + "linearIndex": 4873, + "address": "0xeEcDdf69A3eFe9f54cEbA1daFd456E84f29e96c1", + "cellId": "EI-L24-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B20-C1" + }, + { + "lpbca": 24, + "branch": 20, + "class": 2, + "linearIndex": 4874, + "address": "0x9C7196569C49122C688362759a325030c351cf20", + "cellId": "EI-L24-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B20-C2" + }, + { + "lpbca": 24, + "branch": 20, + "class": 3, + "linearIndex": 4875, + "address": "0x629AEE206b68bc31880F9e6Bc8cd9AA114795640", + "cellId": "EI-L24-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B20-C3" + }, + { + "lpbca": 24, + "branch": 20, + "class": 4, + "linearIndex": 4876, + "address": "0xbe55B9721b056c8Aa273a7dCA8C4B56D9625B6a7", + "cellId": "EI-L24-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B20-C4" + }, + { + "lpbca": 24, + "branch": 20, + "class": 5, + "linearIndex": 4877, + "address": "0x3AC2A430F92315544eA860347e45F32dd442a319", + "cellId": "EI-L24-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B20-C5" + }, + { + "lpbca": 24, + "branch": 21, + "class": 0, + "linearIndex": 4878, + "address": "0x3FC745cA940A58E6171654A5e8B30BEF9Fb4f7Ba", + "cellId": "EI-L24-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B21-C0" + }, + { + "lpbca": 24, + "branch": 21, + "class": 1, + "linearIndex": 4879, + "address": "0x93A4116000812023e15E78BEcbcD0cdB4Daa9887", + "cellId": "EI-L24-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B21-C1" + }, + { + "lpbca": 24, + "branch": 21, + "class": 2, + "linearIndex": 4880, + "address": "0xA31f4bff5057F56512Bb3762FFa871B2F5D13B17", + "cellId": "EI-L24-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B21-C2" + }, + { + "lpbca": 24, + "branch": 21, + "class": 3, + "linearIndex": 4881, + "address": "0x3034d8aD1278B88f82e402e362CD1d452A76E221", + "cellId": "EI-L24-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B21-C3" + }, + { + "lpbca": 24, + "branch": 21, + "class": 4, + "linearIndex": 4882, + "address": "0x0ff2B0810d3aD12432cd2Edaed8f88456b688000", + "cellId": "EI-L24-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B21-C4" + }, + { + "lpbca": 24, + "branch": 21, + "class": 5, + "linearIndex": 4883, + "address": "0xFb2682ED8CEccBA085a08CB51cCD12d56aAcf28A", + "cellId": "EI-L24-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B21-C5" + }, + { + "lpbca": 24, + "branch": 22, + "class": 0, + "linearIndex": 4884, + "address": "0x1Fe47B41326070fCDC9128b9e1A8e4aF6d3E03fE", + "cellId": "EI-L24-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B22-C0" + }, + { + "lpbca": 24, + "branch": 22, + "class": 1, + "linearIndex": 4885, + "address": "0xdd78088Ab90aB761770bE604A207D3F3dBdA1156", + "cellId": "EI-L24-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B22-C1" + }, + { + "lpbca": 24, + "branch": 22, + "class": 2, + "linearIndex": 4886, + "address": "0x4C73A7478850ECc83049F0fcCaa28CE8058faf22", + "cellId": "EI-L24-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B22-C2" + }, + { + "lpbca": 24, + "branch": 22, + "class": 3, + "linearIndex": 4887, + "address": "0xf2Be5b35D0CcA92b0A87E553888A5A175037d6aE", + "cellId": "EI-L24-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B22-C3" + }, + { + "lpbca": 24, + "branch": 22, + "class": 4, + "linearIndex": 4888, + "address": "0x3A20D92Ffdf06057815667669afa149da4ac8F2D", + "cellId": "EI-L24-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B22-C4" + }, + { + "lpbca": 24, + "branch": 22, + "class": 5, + "linearIndex": 4889, + "address": "0x8cef88FE3bD07C26992c3427678602C073ba6A67", + "cellId": "EI-L24-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B22-C5" + }, + { + "lpbca": 24, + "branch": 23, + "class": 0, + "linearIndex": 4890, + "address": "0x08c0de911E7d102B38D0aAe6B4c62B02AF8749ac", + "cellId": "EI-L24-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B23-C0" + }, + { + "lpbca": 24, + "branch": 23, + "class": 1, + "linearIndex": 4891, + "address": "0xdF91f6cD2552c9DE8F2aFF6a3334E4f6fC56C774", + "cellId": "EI-L24-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B23-C1" + }, + { + "lpbca": 24, + "branch": 23, + "class": 2, + "linearIndex": 4892, + "address": "0xC49F4d4369F77142aF812Fb41d2458D803FFa1C9", + "cellId": "EI-L24-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B23-C2" + }, + { + "lpbca": 24, + "branch": 23, + "class": 3, + "linearIndex": 4893, + "address": "0x68a134291Bc68CF5bc4e94DACcD7b8c309963d46", + "cellId": "EI-L24-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B23-C3" + }, + { + "lpbca": 24, + "branch": 23, + "class": 4, + "linearIndex": 4894, + "address": "0x50bEac19aebf74035e61E668fd8e54dE10E9863F", + "cellId": "EI-L24-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B23-C4" + }, + { + "lpbca": 24, + "branch": 23, + "class": 5, + "linearIndex": 4895, + "address": "0x37F83551F61BB80614a7B2481adCb004369cb6c1", + "cellId": "EI-L24-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B23-C5" + }, + { + "lpbca": 24, + "branch": 24, + "class": 0, + "linearIndex": 4896, + "address": "0xc16c140729952693c09d080D0E1F31bc308AD608", + "cellId": "EI-L24-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B24-C0" + }, + { + "lpbca": 24, + "branch": 24, + "class": 1, + "linearIndex": 4897, + "address": "0x723eeBCb1b98A14Ee5a7D3e3B77BCF6dC2891670", + "cellId": "EI-L24-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B24-C1" + }, + { + "lpbca": 24, + "branch": 24, + "class": 2, + "linearIndex": 4898, + "address": "0xbf5a9A277E29A8c8Ab20B2167C350C95a34Cf87b", + "cellId": "EI-L24-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B24-C2" + }, + { + "lpbca": 24, + "branch": 24, + "class": 3, + "linearIndex": 4899, + "address": "0xBd60807e714263eaB84684804a406cbF2dB15F2F", + "cellId": "EI-L24-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B24-C3" + }, + { + "lpbca": 24, + "branch": 24, + "class": 4, + "linearIndex": 4900, + "address": "0x69dA34B04425C881Ed172721683bd0119E09AF66", + "cellId": "EI-L24-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B24-C4" + }, + { + "lpbca": 24, + "branch": 24, + "class": 5, + "linearIndex": 4901, + "address": "0xb095B107E1812dA25a9E8294cB924E240C3Bd6cd", + "cellId": "EI-L24-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B24-C5" + }, + { + "lpbca": 24, + "branch": 25, + "class": 0, + "linearIndex": 4902, + "address": "0x5B82A195ccd0672CEbab7862ba90d1bfC0C23E29", + "cellId": "EI-L24-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B25-C0" + }, + { + "lpbca": 24, + "branch": 25, + "class": 1, + "linearIndex": 4903, + "address": "0xafd3750233fCE4a13190E8e7cbf2AdFeFAA9b9DA", + "cellId": "EI-L24-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B25-C1" + }, + { + "lpbca": 24, + "branch": 25, + "class": 2, + "linearIndex": 4904, + "address": "0x7C6cb921ea998e4b0dA753eFFbC50fE56C93b945", + "cellId": "EI-L24-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B25-C2" + }, + { + "lpbca": 24, + "branch": 25, + "class": 3, + "linearIndex": 4905, + "address": "0x7942833956F293d5334d659Cfe90D7AE2511F816", + "cellId": "EI-L24-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B25-C3" + }, + { + "lpbca": 24, + "branch": 25, + "class": 4, + "linearIndex": 4906, + "address": "0xb5403191c7c58F0a12d5a34Ba02Ceb48C0d17798", + "cellId": "EI-L24-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B25-C4" + }, + { + "lpbca": 24, + "branch": 25, + "class": 5, + "linearIndex": 4907, + "address": "0xb440C4d425702008a4463E8D82f1d29967Db49b4", + "cellId": "EI-L24-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B25-C5" + }, + { + "lpbca": 24, + "branch": 26, + "class": 0, + "linearIndex": 4908, + "address": "0x04b47316D83c0775068b715Ed0D0C3073fb2eB4E", + "cellId": "EI-L24-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B26-C0" + }, + { + "lpbca": 24, + "branch": 26, + "class": 1, + "linearIndex": 4909, + "address": "0x810Ea3E5d8B9d2C5873FF9B10eeb99f2e2cA5bb1", + "cellId": "EI-L24-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B26-C1" + }, + { + "lpbca": 24, + "branch": 26, + "class": 2, + "linearIndex": 4910, + "address": "0x2725ac0Bbe96EB053d817ba78A851ddE093C1F55", + "cellId": "EI-L24-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B26-C2" + }, + { + "lpbca": 24, + "branch": 26, + "class": 3, + "linearIndex": 4911, + "address": "0x344f62Cc47F2EDF88e31D7DeAC4BfC55368d29CC", + "cellId": "EI-L24-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B26-C3" + }, + { + "lpbca": 24, + "branch": 26, + "class": 4, + "linearIndex": 4912, + "address": "0xb08C5029422ee67b5CC6e189d9FBC5fEbD407930", + "cellId": "EI-L24-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B26-C4" + }, + { + "lpbca": 24, + "branch": 26, + "class": 5, + "linearIndex": 4913, + "address": "0x25693D32bA33EEB1e4b1135ff8F8074bCD55885F", + "cellId": "EI-L24-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B26-C5" + }, + { + "lpbca": 24, + "branch": 27, + "class": 0, + "linearIndex": 4914, + "address": "0x88dbaE5137E2c036Bea2fFf6BD3B269bBFbE8432", + "cellId": "EI-L24-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B27-C0" + }, + { + "lpbca": 24, + "branch": 27, + "class": 1, + "linearIndex": 4915, + "address": "0x3D7f8ec7D2cCa392DD56E0B7866D595154cE3A0c", + "cellId": "EI-L24-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B27-C1" + }, + { + "lpbca": 24, + "branch": 27, + "class": 2, + "linearIndex": 4916, + "address": "0x4D24F6B11675dc792e5483B545e99F162EcA2754", + "cellId": "EI-L24-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B27-C2" + }, + { + "lpbca": 24, + "branch": 27, + "class": 3, + "linearIndex": 4917, + "address": "0xA53Df9Eeed979A204B7C6591c5c7197247972260", + "cellId": "EI-L24-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B27-C3" + }, + { + "lpbca": 24, + "branch": 27, + "class": 4, + "linearIndex": 4918, + "address": "0xA370689C9FFeFAec3384a4D66cC6C9F3567BB407", + "cellId": "EI-L24-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B27-C4" + }, + { + "lpbca": 24, + "branch": 27, + "class": 5, + "linearIndex": 4919, + "address": "0x04a87001d5155D7Bb7069ae995eE5F9E95ea2D15", + "cellId": "EI-L24-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B27-C5" + }, + { + "lpbca": 24, + "branch": 28, + "class": 0, + "linearIndex": 4920, + "address": "0x5451351BA763B8402Db255EA105484bcE9B8d96D", + "cellId": "EI-L24-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B28-C0" + }, + { + "lpbca": 24, + "branch": 28, + "class": 1, + "linearIndex": 4921, + "address": "0x2495D4275158B47374B6eDB35B17EB8C0bd13724", + "cellId": "EI-L24-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B28-C1" + }, + { + "lpbca": 24, + "branch": 28, + "class": 2, + "linearIndex": 4922, + "address": "0x63D63a23bCeEC31315BE2Cf15b81FeD0a01a1E1E", + "cellId": "EI-L24-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B28-C2" + }, + { + "lpbca": 24, + "branch": 28, + "class": 3, + "linearIndex": 4923, + "address": "0x1fB2AA69A0710075c3d181D8eE6ccC97AEFfCFb9", + "cellId": "EI-L24-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B28-C3" + }, + { + "lpbca": 24, + "branch": 28, + "class": 4, + "linearIndex": 4924, + "address": "0xe888011cC633D4821DB7c4e7e98f1bde0bF3454B", + "cellId": "EI-L24-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B28-C4" + }, + { + "lpbca": 24, + "branch": 28, + "class": 5, + "linearIndex": 4925, + "address": "0xE2F253Cc6993cb6Abf4965E4c9A66690f62218C8", + "cellId": "EI-L24-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B28-C5" + }, + { + "lpbca": 24, + "branch": 29, + "class": 0, + "linearIndex": 4926, + "address": "0xD5c9D45D4fF6844f9Fe4681885eDa3Cd69A5Cc2c", + "cellId": "EI-L24-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B29-C0" + }, + { + "lpbca": 24, + "branch": 29, + "class": 1, + "linearIndex": 4927, + "address": "0xEb8C145513dE464294B1653b3b474220f2955D29", + "cellId": "EI-L24-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B29-C1" + }, + { + "lpbca": 24, + "branch": 29, + "class": 2, + "linearIndex": 4928, + "address": "0xC49e3FAeb8b37D329d959fEC726542033633d209", + "cellId": "EI-L24-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B29-C2" + }, + { + "lpbca": 24, + "branch": 29, + "class": 3, + "linearIndex": 4929, + "address": "0xC3f96ef1a8CBdEFbbf46d1c0A48bE43EfB41c3Cd", + "cellId": "EI-L24-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B29-C3" + }, + { + "lpbca": 24, + "branch": 29, + "class": 4, + "linearIndex": 4930, + "address": "0xB03ed97aC792275fF51bD1393420ed694612a4e6", + "cellId": "EI-L24-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B29-C4" + }, + { + "lpbca": 24, + "branch": 29, + "class": 5, + "linearIndex": 4931, + "address": "0x60f035bD42E67c8e0DeD4eAb0a2b0e96fEc470E1", + "cellId": "EI-L24-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B29-C5" + }, + { + "lpbca": 24, + "branch": 30, + "class": 0, + "linearIndex": 4932, + "address": "0x02C6313FBb905266baaD99A65a3A49889C89CaB9", + "cellId": "EI-L24-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B30-C0" + }, + { + "lpbca": 24, + "branch": 30, + "class": 1, + "linearIndex": 4933, + "address": "0x55437605e4E763EDeE66B3ABc56CBff4CD8A8220", + "cellId": "EI-L24-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B30-C1" + }, + { + "lpbca": 24, + "branch": 30, + "class": 2, + "linearIndex": 4934, + "address": "0x42728db2a7b49B1a1f41e2aA8787F28cdFc55dA1", + "cellId": "EI-L24-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B30-C2" + }, + { + "lpbca": 24, + "branch": 30, + "class": 3, + "linearIndex": 4935, + "address": "0x6D0996dAfc50104075917C88D251C6118B4B5dF4", + "cellId": "EI-L24-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B30-C3" + }, + { + "lpbca": 24, + "branch": 30, + "class": 4, + "linearIndex": 4936, + "address": "0x8E40Aa8A3e0f20DB052A21Ba137290feC436506d", + "cellId": "EI-L24-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B30-C4" + }, + { + "lpbca": 24, + "branch": 30, + "class": 5, + "linearIndex": 4937, + "address": "0xdaA2059E40Ef73F867aA9809335c06d0F38A5f2E", + "cellId": "EI-L24-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B30-C5" + }, + { + "lpbca": 24, + "branch": 31, + "class": 0, + "linearIndex": 4938, + "address": "0x73af561fE16867A974c60D40f6E66fFAA5573031", + "cellId": "EI-L24-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B31-C0" + }, + { + "lpbca": 24, + "branch": 31, + "class": 1, + "linearIndex": 4939, + "address": "0x4810c09d1f1e4C0FF4D2760D33f9168b04627952", + "cellId": "EI-L24-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B31-C1" + }, + { + "lpbca": 24, + "branch": 31, + "class": 2, + "linearIndex": 4940, + "address": "0x160438BC4530c9d72eaB36901201aE2CA4D2CcBd", + "cellId": "EI-L24-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B31-C2" + }, + { + "lpbca": 24, + "branch": 31, + "class": 3, + "linearIndex": 4941, + "address": "0x505f529e7902298398100ca636FBE17e98D87dD8", + "cellId": "EI-L24-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B31-C3" + }, + { + "lpbca": 24, + "branch": 31, + "class": 4, + "linearIndex": 4942, + "address": "0x7ee009e1F0917066429CbA203f1C4F7Df7A6C12B", + "cellId": "EI-L24-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B31-C4" + }, + { + "lpbca": 24, + "branch": 31, + "class": 5, + "linearIndex": 4943, + "address": "0x0582222ff3C55B00Ea3bc33E3c70DCadd1d49c37", + "cellId": "EI-L24-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B31-C5" + }, + { + "lpbca": 24, + "branch": 32, + "class": 0, + "linearIndex": 4944, + "address": "0xf4C73ea2e3C3f68FFD722837fB4Dc50392C28ac1", + "cellId": "EI-L24-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B32-C0" + }, + { + "lpbca": 24, + "branch": 32, + "class": 1, + "linearIndex": 4945, + "address": "0x696BeA5CD298469340C3c2c10D8598e5d0beD136", + "cellId": "EI-L24-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B32-C1" + }, + { + "lpbca": 24, + "branch": 32, + "class": 2, + "linearIndex": 4946, + "address": "0xD8D17e08Acf4817F44F216E66146e3Cf1c896e6a", + "cellId": "EI-L24-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B32-C2" + }, + { + "lpbca": 24, + "branch": 32, + "class": 3, + "linearIndex": 4947, + "address": "0x19dE0d7cE5220431BfCD4e88cA63453D9dbDEAC7", + "cellId": "EI-L24-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B32-C3" + }, + { + "lpbca": 24, + "branch": 32, + "class": 4, + "linearIndex": 4948, + "address": "0x37358d1EA4e573A6002CbA319B3FDE5c119d4542", + "cellId": "EI-L24-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B32-C4" + }, + { + "lpbca": 24, + "branch": 32, + "class": 5, + "linearIndex": 4949, + "address": "0x66e25354E5c4ed11eeC8370e8d4FDE6d8bCEF743", + "cellId": "EI-L24-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L24-B32-C5" + }, + { + "lpbca": 25, + "branch": 0, + "class": 0, + "linearIndex": 4950, + "address": "0x93757fc2F747E4Ebf0B5Cb224f4B94732D6e77E8", + "cellId": "EI-L25-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B00-C0" + }, + { + "lpbca": 25, + "branch": 0, + "class": 1, + "linearIndex": 4951, + "address": "0xA93775d662e02ec3D7aE0b51ad770A4FC3a55E22", + "cellId": "EI-L25-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B00-C1" + }, + { + "lpbca": 25, + "branch": 0, + "class": 2, + "linearIndex": 4952, + "address": "0xe6b24D4C92721a7cE531757Fd125DfA5Ce3fCe70", + "cellId": "EI-L25-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B00-C2" + }, + { + "lpbca": 25, + "branch": 0, + "class": 3, + "linearIndex": 4953, + "address": "0xF4A3bfc2fe37F95f74421551150BEb9AE84f2b4b", + "cellId": "EI-L25-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B00-C3" + }, + { + "lpbca": 25, + "branch": 0, + "class": 4, + "linearIndex": 4954, + "address": "0xce45e6003061227cd129fB1241e0b3d1C3C7D0a1", + "cellId": "EI-L25-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B00-C4" + }, + { + "lpbca": 25, + "branch": 0, + "class": 5, + "linearIndex": 4955, + "address": "0x493158718B360f1A1e39BBcB761B830B4CAEe1d1", + "cellId": "EI-L25-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B00-C5" + }, + { + "lpbca": 25, + "branch": 1, + "class": 0, + "linearIndex": 4956, + "address": "0x87e73813F5d22c35bB43EAFc7951D8260A6efE2f", + "cellId": "EI-L25-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B01-C0" + }, + { + "lpbca": 25, + "branch": 1, + "class": 1, + "linearIndex": 4957, + "address": "0x9be6496Cf989d7c1217E002B536EcaF865917cd4", + "cellId": "EI-L25-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B01-C1" + }, + { + "lpbca": 25, + "branch": 1, + "class": 2, + "linearIndex": 4958, + "address": "0x59533763c7d99fFae5fDB0780BB2ad1Da48F3B9e", + "cellId": "EI-L25-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B01-C2" + }, + { + "lpbca": 25, + "branch": 1, + "class": 3, + "linearIndex": 4959, + "address": "0x2f85dd4ff545B212582cB85431942939Dcd7C70f", + "cellId": "EI-L25-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B01-C3" + }, + { + "lpbca": 25, + "branch": 1, + "class": 4, + "linearIndex": 4960, + "address": "0x71855Bc99ac108b50CcfF1eAB790c2552DA27C23", + "cellId": "EI-L25-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B01-C4" + }, + { + "lpbca": 25, + "branch": 1, + "class": 5, + "linearIndex": 4961, + "address": "0xa6Db4ac3682bCD8A675632aC31185887697F4C49", + "cellId": "EI-L25-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B01-C5" + }, + { + "lpbca": 25, + "branch": 2, + "class": 0, + "linearIndex": 4962, + "address": "0xaA78FA4528224C3bf5dC509B147010bD603ddfa3", + "cellId": "EI-L25-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B02-C0" + }, + { + "lpbca": 25, + "branch": 2, + "class": 1, + "linearIndex": 4963, + "address": "0x95ad5Bd7B730E030005316E74563DCD66AE41710", + "cellId": "EI-L25-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B02-C1" + }, + { + "lpbca": 25, + "branch": 2, + "class": 2, + "linearIndex": 4964, + "address": "0x16F212f49c16f58A1FfE55Ed39625EED6931Cb8b", + "cellId": "EI-L25-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B02-C2" + }, + { + "lpbca": 25, + "branch": 2, + "class": 3, + "linearIndex": 4965, + "address": "0x7Bde97fF48Be101e87aB933E802FD513b41E20C8", + "cellId": "EI-L25-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B02-C3" + }, + { + "lpbca": 25, + "branch": 2, + "class": 4, + "linearIndex": 4966, + "address": "0x2af2AB3e399236c69291019009E8C825f8a3C987", + "cellId": "EI-L25-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B02-C4" + }, + { + "lpbca": 25, + "branch": 2, + "class": 5, + "linearIndex": 4967, + "address": "0x4DC5e52c29527079cDf344F2a4025F26e7FAbD61", + "cellId": "EI-L25-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B02-C5" + }, + { + "lpbca": 25, + "branch": 3, + "class": 0, + "linearIndex": 4968, + "address": "0x3daa9feD1f29fCe9B6657efFa2Dcc5e8B76154c6", + "cellId": "EI-L25-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B03-C0" + }, + { + "lpbca": 25, + "branch": 3, + "class": 1, + "linearIndex": 4969, + "address": "0x097F462cdA7103f0fF9329377C5c8CF552cd4847", + "cellId": "EI-L25-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B03-C1" + }, + { + "lpbca": 25, + "branch": 3, + "class": 2, + "linearIndex": 4970, + "address": "0x51EAA8b70806436420597eD49452B2b6a17C181a", + "cellId": "EI-L25-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B03-C2" + }, + { + "lpbca": 25, + "branch": 3, + "class": 3, + "linearIndex": 4971, + "address": "0xe7Af92B84a47B4472b09Ad36367B8ED14D06BaCC", + "cellId": "EI-L25-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B03-C3" + }, + { + "lpbca": 25, + "branch": 3, + "class": 4, + "linearIndex": 4972, + "address": "0x5054e03d4447889d202fe920865cd88FC7FA9A38", + "cellId": "EI-L25-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B03-C4" + }, + { + "lpbca": 25, + "branch": 3, + "class": 5, + "linearIndex": 4973, + "address": "0xdECbBF4dda02C1eeeD43415895eE8D3EE463af10", + "cellId": "EI-L25-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B03-C5" + }, + { + "lpbca": 25, + "branch": 4, + "class": 0, + "linearIndex": 4974, + "address": "0xC957336B0a190B7F96D0f5DA394227348599434b", + "cellId": "EI-L25-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B04-C0" + }, + { + "lpbca": 25, + "branch": 4, + "class": 1, + "linearIndex": 4975, + "address": "0x39F2A61b381922eCa4A0C8fD003B3656F21ca735", + "cellId": "EI-L25-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B04-C1" + }, + { + "lpbca": 25, + "branch": 4, + "class": 2, + "linearIndex": 4976, + "address": "0xe2507DF4b2594B31723e324595502160eBbFFE84", + "cellId": "EI-L25-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B04-C2" + }, + { + "lpbca": 25, + "branch": 4, + "class": 3, + "linearIndex": 4977, + "address": "0x99CA7a81946c75bAe0A6c7F1530aF8A0C7B8e55b", + "cellId": "EI-L25-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B04-C3" + }, + { + "lpbca": 25, + "branch": 4, + "class": 4, + "linearIndex": 4978, + "address": "0x02f7fc1c142C8B56210515eF1272a51621f9b260", + "cellId": "EI-L25-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B04-C4" + }, + { + "lpbca": 25, + "branch": 4, + "class": 5, + "linearIndex": 4979, + "address": "0x7DC5fD2F45522D2321A85156EEDb67F44C6095cb", + "cellId": "EI-L25-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B04-C5" + }, + { + "lpbca": 25, + "branch": 5, + "class": 0, + "linearIndex": 4980, + "address": "0xE837d843b463d417B8c993b071787929d4B890a1", + "cellId": "EI-L25-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B05-C0" + }, + { + "lpbca": 25, + "branch": 5, + "class": 1, + "linearIndex": 4981, + "address": "0x2b3659004419d213FfF486505ec20Ecc55B97251", + "cellId": "EI-L25-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B05-C1" + }, + { + "lpbca": 25, + "branch": 5, + "class": 2, + "linearIndex": 4982, + "address": "0x8a21641F3296804f0931D2836a63C6e806c27BA7", + "cellId": "EI-L25-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B05-C2" + }, + { + "lpbca": 25, + "branch": 5, + "class": 3, + "linearIndex": 4983, + "address": "0xA9CBDCab18044e6294e2433740c571Bf37E7CAC4", + "cellId": "EI-L25-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B05-C3" + }, + { + "lpbca": 25, + "branch": 5, + "class": 4, + "linearIndex": 4984, + "address": "0xeA9C4bAE282C4aC55F0BF351B08a0A663353699f", + "cellId": "EI-L25-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B05-C4" + }, + { + "lpbca": 25, + "branch": 5, + "class": 5, + "linearIndex": 4985, + "address": "0x0b90aD587700CBD690D3f546c6bDBC67536DF1e6", + "cellId": "EI-L25-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B05-C5" + }, + { + "lpbca": 25, + "branch": 6, + "class": 0, + "linearIndex": 4986, + "address": "0x492DBbd5bbc8F098097EF39dd70069173672f28e", + "cellId": "EI-L25-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B06-C0" + }, + { + "lpbca": 25, + "branch": 6, + "class": 1, + "linearIndex": 4987, + "address": "0xAD4185a322A4EB92B700C6478807b180207DE61d", + "cellId": "EI-L25-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B06-C1" + }, + { + "lpbca": 25, + "branch": 6, + "class": 2, + "linearIndex": 4988, + "address": "0xAD7309ca7EcC2284Ea300B3F7fE4DCaa0ca24495", + "cellId": "EI-L25-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B06-C2" + }, + { + "lpbca": 25, + "branch": 6, + "class": 3, + "linearIndex": 4989, + "address": "0xEDA1E3cB5C103F8FA1612df391D496d42666bCBC", + "cellId": "EI-L25-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B06-C3" + }, + { + "lpbca": 25, + "branch": 6, + "class": 4, + "linearIndex": 4990, + "address": "0x52763b119985e721f4024F9124eE95cD3d64c4E4", + "cellId": "EI-L25-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B06-C4" + }, + { + "lpbca": 25, + "branch": 6, + "class": 5, + "linearIndex": 4991, + "address": "0xd49A8013b6F281124c5E5fd84ac7a047c9831B22", + "cellId": "EI-L25-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B06-C5" + }, + { + "lpbca": 25, + "branch": 7, + "class": 0, + "linearIndex": 4992, + "address": "0x78130ebEf386a05e5eE5DA91CEE40960A87Ea9d9", + "cellId": "EI-L25-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B07-C0" + }, + { + "lpbca": 25, + "branch": 7, + "class": 1, + "linearIndex": 4993, + "address": "0xf8EC83d35eF0BBfaE0D14Dc300A7C85B6Ec9414c", + "cellId": "EI-L25-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B07-C1" + }, + { + "lpbca": 25, + "branch": 7, + "class": 2, + "linearIndex": 4994, + "address": "0x210b7Da706fe3C37371D79eB1Dd6AE50823Efcd3", + "cellId": "EI-L25-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B07-C2" + }, + { + "lpbca": 25, + "branch": 7, + "class": 3, + "linearIndex": 4995, + "address": "0xe9889959D7269B6aef6e37B9CDC34A060D6df61D", + "cellId": "EI-L25-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B07-C3" + }, + { + "lpbca": 25, + "branch": 7, + "class": 4, + "linearIndex": 4996, + "address": "0x3e6adea851666BBD5BAb5B4c56bEC90a3ab1334C", + "cellId": "EI-L25-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B07-C4" + }, + { + "lpbca": 25, + "branch": 7, + "class": 5, + "linearIndex": 4997, + "address": "0x43ae54B25cB26fE82B3D32aD2361c26ca532f33C", + "cellId": "EI-L25-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B07-C5" + }, + { + "lpbca": 25, + "branch": 8, + "class": 0, + "linearIndex": 4998, + "address": "0x56B7F23b644b225dC06C3d4C10fdD0bA1D807914", + "cellId": "EI-L25-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B08-C0" + }, + { + "lpbca": 25, + "branch": 8, + "class": 1, + "linearIndex": 4999, + "address": "0xCBB0cc48E57f040aac3C380592A24F12C262b77c", + "cellId": "EI-L25-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B08-C1" + }, + { + "lpbca": 25, + "branch": 8, + "class": 2, + "linearIndex": 5000, + "address": "0x7a6baC87be224C5736ADcfdA303F938a3848B0F7", + "cellId": "EI-L25-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B08-C2" + }, + { + "lpbca": 25, + "branch": 8, + "class": 3, + "linearIndex": 5001, + "address": "0x0Aa7e40B11B792dba3393AA5203784086AD3C3bA", + "cellId": "EI-L25-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B08-C3" + }, + { + "lpbca": 25, + "branch": 8, + "class": 4, + "linearIndex": 5002, + "address": "0x70a5D737BC0A87BED00391cc112ada62C348439e", + "cellId": "EI-L25-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B08-C4" + }, + { + "lpbca": 25, + "branch": 8, + "class": 5, + "linearIndex": 5003, + "address": "0xEBbe281B5fBf42381Cc57870eeA53cB63311E246", + "cellId": "EI-L25-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B08-C5" + }, + { + "lpbca": 25, + "branch": 9, + "class": 0, + "linearIndex": 5004, + "address": "0x6142624bA0778355425D9b3F86F50409921956c9", + "cellId": "EI-L25-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B09-C0" + }, + { + "lpbca": 25, + "branch": 9, + "class": 1, + "linearIndex": 5005, + "address": "0xD47Cb209622f87Eb5F74043dBE56Ae0F81B0DF49", + "cellId": "EI-L25-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B09-C1" + }, + { + "lpbca": 25, + "branch": 9, + "class": 2, + "linearIndex": 5006, + "address": "0x03ebEe11a9aD3c4394687eD4227591c4a42Ac420", + "cellId": "EI-L25-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B09-C2" + }, + { + "lpbca": 25, + "branch": 9, + "class": 3, + "linearIndex": 5007, + "address": "0x25D331bAA1B1E6a553857Ddf8B906DA2C59BB3a1", + "cellId": "EI-L25-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B09-C3" + }, + { + "lpbca": 25, + "branch": 9, + "class": 4, + "linearIndex": 5008, + "address": "0xe558C90f884229fE9C3dC5D93De67bD98Ce47fab", + "cellId": "EI-L25-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B09-C4" + }, + { + "lpbca": 25, + "branch": 9, + "class": 5, + "linearIndex": 5009, + "address": "0xf55914755F98f354D7696D83f9492a805d2918Dd", + "cellId": "EI-L25-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B09-C5" + }, + { + "lpbca": 25, + "branch": 10, + "class": 0, + "linearIndex": 5010, + "address": "0xBb10ea9BEF8aFD0d232F13A30E28E134A69cD879", + "cellId": "EI-L25-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B10-C0" + }, + { + "lpbca": 25, + "branch": 10, + "class": 1, + "linearIndex": 5011, + "address": "0x85cc383c8fA4BC4216862bF8fe90f1813505EeE3", + "cellId": "EI-L25-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B10-C1" + }, + { + "lpbca": 25, + "branch": 10, + "class": 2, + "linearIndex": 5012, + "address": "0x7ddd0bf9EaA55687b7F77868c6520d7d848a848F", + "cellId": "EI-L25-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B10-C2" + }, + { + "lpbca": 25, + "branch": 10, + "class": 3, + "linearIndex": 5013, + "address": "0xF95907103b8331035c7E4FA604092443E614B3d2", + "cellId": "EI-L25-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B10-C3" + }, + { + "lpbca": 25, + "branch": 10, + "class": 4, + "linearIndex": 5014, + "address": "0x6a13491e7359873e990a4914728689FABcE3896C", + "cellId": "EI-L25-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B10-C4" + }, + { + "lpbca": 25, + "branch": 10, + "class": 5, + "linearIndex": 5015, + "address": "0xa89C07a30C7ffF08dECFd76b92Df147271E1fE4d", + "cellId": "EI-L25-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B10-C5" + }, + { + "lpbca": 25, + "branch": 11, + "class": 0, + "linearIndex": 5016, + "address": "0x333DE2ae5860612F8D49a112e0281f332E11C65b", + "cellId": "EI-L25-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B11-C0" + }, + { + "lpbca": 25, + "branch": 11, + "class": 1, + "linearIndex": 5017, + "address": "0xd5a90b5b6C8b5A8A7d2efDD98Fc85b4dFB52BC0a", + "cellId": "EI-L25-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B11-C1" + }, + { + "lpbca": 25, + "branch": 11, + "class": 2, + "linearIndex": 5018, + "address": "0xc4cBe67c90Da52FCD3Ace974Ebc0DEF177f72E24", + "cellId": "EI-L25-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B11-C2" + }, + { + "lpbca": 25, + "branch": 11, + "class": 3, + "linearIndex": 5019, + "address": "0x9a4Fe4d393bF4Ae623E8fb8D6eB1bbA7d95cAD0f", + "cellId": "EI-L25-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B11-C3" + }, + { + "lpbca": 25, + "branch": 11, + "class": 4, + "linearIndex": 5020, + "address": "0x63163bAdaa042e0B0CeF383791aa67c804Fda22F", + "cellId": "EI-L25-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B11-C4" + }, + { + "lpbca": 25, + "branch": 11, + "class": 5, + "linearIndex": 5021, + "address": "0x55a673052a75E63E0A3DFB0FAb9648c2bb6c6B53", + "cellId": "EI-L25-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B11-C5" + }, + { + "lpbca": 25, + "branch": 12, + "class": 0, + "linearIndex": 5022, + "address": "0x26d0Df72D6c8F82F0A04E37Da255739F28d1d566", + "cellId": "EI-L25-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B12-C0" + }, + { + "lpbca": 25, + "branch": 12, + "class": 1, + "linearIndex": 5023, + "address": "0x2Ae4783F4Fbb82d8dBea836818e2fA81A0Be8d90", + "cellId": "EI-L25-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B12-C1" + }, + { + "lpbca": 25, + "branch": 12, + "class": 2, + "linearIndex": 5024, + "address": "0x558f34dF1C148Ff144B98315CDE25CCd0698507f", + "cellId": "EI-L25-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B12-C2" + }, + { + "lpbca": 25, + "branch": 12, + "class": 3, + "linearIndex": 5025, + "address": "0x830F1cbC7183B74e68EC6c00d476468928Eb8B96", + "cellId": "EI-L25-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B12-C3" + }, + { + "lpbca": 25, + "branch": 12, + "class": 4, + "linearIndex": 5026, + "address": "0x12CF41E168FD43AdA9D2B963bF3BBFC1C4653921", + "cellId": "EI-L25-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B12-C4" + }, + { + "lpbca": 25, + "branch": 12, + "class": 5, + "linearIndex": 5027, + "address": "0xBCe83D0319E9d9c9c22204F9b9363eD105Bf0573", + "cellId": "EI-L25-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B12-C5" + }, + { + "lpbca": 25, + "branch": 13, + "class": 0, + "linearIndex": 5028, + "address": "0x7d42ac11CdB5751f5Db799eE6F3Cc1Add29f850A", + "cellId": "EI-L25-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B13-C0" + }, + { + "lpbca": 25, + "branch": 13, + "class": 1, + "linearIndex": 5029, + "address": "0xc4ecB0f92d2e52Aa016e630884F472EB46Ee4745", + "cellId": "EI-L25-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B13-C1" + }, + { + "lpbca": 25, + "branch": 13, + "class": 2, + "linearIndex": 5030, + "address": "0x9fd6C8d11DEdB473562dA49Af5a8fC2fBC1C0Ee3", + "cellId": "EI-L25-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B13-C2" + }, + { + "lpbca": 25, + "branch": 13, + "class": 3, + "linearIndex": 5031, + "address": "0x68bC14F693a0231023596e7650151ffAb60D2d59", + "cellId": "EI-L25-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B13-C3" + }, + { + "lpbca": 25, + "branch": 13, + "class": 4, + "linearIndex": 5032, + "address": "0x63E7e1f7053B05E1F17AB22FFb3b9d0d79CCe0Fe", + "cellId": "EI-L25-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B13-C4" + }, + { + "lpbca": 25, + "branch": 13, + "class": 5, + "linearIndex": 5033, + "address": "0x9bF7D8651a47Bf3E0EA38666cBccdE0572F2206A", + "cellId": "EI-L25-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B13-C5" + }, + { + "lpbca": 25, + "branch": 14, + "class": 0, + "linearIndex": 5034, + "address": "0xCa13699c650487BE2981Fd6861045c0401f79bdD", + "cellId": "EI-L25-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B14-C0" + }, + { + "lpbca": 25, + "branch": 14, + "class": 1, + "linearIndex": 5035, + "address": "0xAc73fc82F29b83FC4C22061B692E4Da20F3cBB86", + "cellId": "EI-L25-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B14-C1" + }, + { + "lpbca": 25, + "branch": 14, + "class": 2, + "linearIndex": 5036, + "address": "0x4B17E20f075833d2716AbF859Dfc7e3A048a1D59", + "cellId": "EI-L25-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B14-C2" + }, + { + "lpbca": 25, + "branch": 14, + "class": 3, + "linearIndex": 5037, + "address": "0x10A9883fd46b8d5187a286E199E1c490D1c9633C", + "cellId": "EI-L25-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B14-C3" + }, + { + "lpbca": 25, + "branch": 14, + "class": 4, + "linearIndex": 5038, + "address": "0xa0937d6e8C4710D581596586be027a25DBF49762", + "cellId": "EI-L25-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B14-C4" + }, + { + "lpbca": 25, + "branch": 14, + "class": 5, + "linearIndex": 5039, + "address": "0xDb6D6EF719A640b228D9cA0b1B39D59536c4f354", + "cellId": "EI-L25-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B14-C5" + }, + { + "lpbca": 25, + "branch": 15, + "class": 0, + "linearIndex": 5040, + "address": "0x4E5e3F5840e499f28EF36C1e59E04aC14996A827", + "cellId": "EI-L25-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B15-C0" + }, + { + "lpbca": 25, + "branch": 15, + "class": 1, + "linearIndex": 5041, + "address": "0x0efc0a7aA134829Fe1822F96AEE1D64906c3FED8", + "cellId": "EI-L25-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B15-C1" + }, + { + "lpbca": 25, + "branch": 15, + "class": 2, + "linearIndex": 5042, + "address": "0x4f56Bc2C511BD941Dd18343A0191d0e9B0e5061e", + "cellId": "EI-L25-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B15-C2" + }, + { + "lpbca": 25, + "branch": 15, + "class": 3, + "linearIndex": 5043, + "address": "0xA6cE1B71716A3a31BcE91dDBb5d61E53907cC522", + "cellId": "EI-L25-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B15-C3" + }, + { + "lpbca": 25, + "branch": 15, + "class": 4, + "linearIndex": 5044, + "address": "0x4de2d0576709e3fa00E525292c0Fb5Ebd30C55ab", + "cellId": "EI-L25-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B15-C4" + }, + { + "lpbca": 25, + "branch": 15, + "class": 5, + "linearIndex": 5045, + "address": "0x450e2fD943307395Ddb8BD8F577054B87a87158e", + "cellId": "EI-L25-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B15-C5" + }, + { + "lpbca": 25, + "branch": 16, + "class": 0, + "linearIndex": 5046, + "address": "0xa3197617d6E6774Dd8DaaBd605945d279976625A", + "cellId": "EI-L25-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B16-C0" + }, + { + "lpbca": 25, + "branch": 16, + "class": 1, + "linearIndex": 5047, + "address": "0x97ed97c547Cb4Ae9F973f02330901B7Bd813CA32", + "cellId": "EI-L25-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B16-C1" + }, + { + "lpbca": 25, + "branch": 16, + "class": 2, + "linearIndex": 5048, + "address": "0x5fDab69bC1AF7cD523A2ABab703a5d7D457c6EAB", + "cellId": "EI-L25-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B16-C2" + }, + { + "lpbca": 25, + "branch": 16, + "class": 3, + "linearIndex": 5049, + "address": "0xc009ef2d74114Fe2513162d64A087b59e9084A0e", + "cellId": "EI-L25-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B16-C3" + }, + { + "lpbca": 25, + "branch": 16, + "class": 4, + "linearIndex": 5050, + "address": "0x34cE31E8C7BfF5B9f3671D520971a4c86111E092", + "cellId": "EI-L25-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B16-C4" + }, + { + "lpbca": 25, + "branch": 16, + "class": 5, + "linearIndex": 5051, + "address": "0x28344B832C54C7257E57EA6f0f065758c1e5Ef38", + "cellId": "EI-L25-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B16-C5" + }, + { + "lpbca": 25, + "branch": 17, + "class": 0, + "linearIndex": 5052, + "address": "0x2e2d8c4c103288aFCC9078361941C1F5D4dcb440", + "cellId": "EI-L25-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B17-C0" + }, + { + "lpbca": 25, + "branch": 17, + "class": 1, + "linearIndex": 5053, + "address": "0x8b1CDE68f45a6DbdFdB9EE020d0B1804BE0e7872", + "cellId": "EI-L25-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B17-C1" + }, + { + "lpbca": 25, + "branch": 17, + "class": 2, + "linearIndex": 5054, + "address": "0x88B5aa5bDfA8b2De4b07724a8C761999a79007BC", + "cellId": "EI-L25-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B17-C2" + }, + { + "lpbca": 25, + "branch": 17, + "class": 3, + "linearIndex": 5055, + "address": "0xac0965760d0732dAF59DEa0CBd646ae1EAE6d046", + "cellId": "EI-L25-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B17-C3" + }, + { + "lpbca": 25, + "branch": 17, + "class": 4, + "linearIndex": 5056, + "address": "0x58bd0e7192Cb81ae6e87983C385d1012C6c266B0", + "cellId": "EI-L25-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B17-C4" + }, + { + "lpbca": 25, + "branch": 17, + "class": 5, + "linearIndex": 5057, + "address": "0x4A6e4E3Df6eE91868bD3f75c14230F1A06c26e24", + "cellId": "EI-L25-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B17-C5" + }, + { + "lpbca": 25, + "branch": 18, + "class": 0, + "linearIndex": 5058, + "address": "0xAd0Df15f9a81bC60C97c1BDe311243daFd9a6f97", + "cellId": "EI-L25-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B18-C0" + }, + { + "lpbca": 25, + "branch": 18, + "class": 1, + "linearIndex": 5059, + "address": "0x43eFA4Be28bbAeeB0750e33c5ed3D1FFc82453B1", + "cellId": "EI-L25-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B18-C1" + }, + { + "lpbca": 25, + "branch": 18, + "class": 2, + "linearIndex": 5060, + "address": "0xAeD74b287a274BC5d3f40a7676f0C66F59A017FF", + "cellId": "EI-L25-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B18-C2" + }, + { + "lpbca": 25, + "branch": 18, + "class": 3, + "linearIndex": 5061, + "address": "0xf7A8E6EAEA88D3f07A877Dc294a3caC645B48e04", + "cellId": "EI-L25-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B18-C3" + }, + { + "lpbca": 25, + "branch": 18, + "class": 4, + "linearIndex": 5062, + "address": "0x7c183922a33cfF614F2301dAB82f7DE84f3236ec", + "cellId": "EI-L25-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B18-C4" + }, + { + "lpbca": 25, + "branch": 18, + "class": 5, + "linearIndex": 5063, + "address": "0x1773C34ff662204a4bB82e5a359e0AFeD4ff0da5", + "cellId": "EI-L25-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B18-C5" + }, + { + "lpbca": 25, + "branch": 19, + "class": 0, + "linearIndex": 5064, + "address": "0x68423EDC938eDDb479db5569A440ccA4b49E5356", + "cellId": "EI-L25-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B19-C0" + }, + { + "lpbca": 25, + "branch": 19, + "class": 1, + "linearIndex": 5065, + "address": "0xe46Cfd1eD81ADb5806C9dC5b24cbc5A0078d6563", + "cellId": "EI-L25-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B19-C1" + }, + { + "lpbca": 25, + "branch": 19, + "class": 2, + "linearIndex": 5066, + "address": "0x72028931E77F0D951Ba4b8f2AB3d001557060CAa", + "cellId": "EI-L25-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B19-C2" + }, + { + "lpbca": 25, + "branch": 19, + "class": 3, + "linearIndex": 5067, + "address": "0x6b6139319f58c575BD89543C4911D21F1577c809", + "cellId": "EI-L25-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B19-C3" + }, + { + "lpbca": 25, + "branch": 19, + "class": 4, + "linearIndex": 5068, + "address": "0x236dB45e8CedeC0B5b602c29C9BdC5987dC9cbdb", + "cellId": "EI-L25-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B19-C4" + }, + { + "lpbca": 25, + "branch": 19, + "class": 5, + "linearIndex": 5069, + "address": "0x7B95749e887CE761717dE6C7D1CC19F947a16D91", + "cellId": "EI-L25-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B19-C5" + }, + { + "lpbca": 25, + "branch": 20, + "class": 0, + "linearIndex": 5070, + "address": "0x1eF965c671BCd0C301a3cAB5869b2edE40b439bc", + "cellId": "EI-L25-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B20-C0" + }, + { + "lpbca": 25, + "branch": 20, + "class": 1, + "linearIndex": 5071, + "address": "0x1e5C3c44CB7850Bc8D46Eb188Ac41E7de3a18353", + "cellId": "EI-L25-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B20-C1" + }, + { + "lpbca": 25, + "branch": 20, + "class": 2, + "linearIndex": 5072, + "address": "0x19c6bcdCbcE3d3b59d909B3F1F383F714a555EF2", + "cellId": "EI-L25-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B20-C2" + }, + { + "lpbca": 25, + "branch": 20, + "class": 3, + "linearIndex": 5073, + "address": "0x5d5486C429CC1b28aF1A9555BE2184164e6A7Aa5", + "cellId": "EI-L25-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B20-C3" + }, + { + "lpbca": 25, + "branch": 20, + "class": 4, + "linearIndex": 5074, + "address": "0xF1e40C6e02831B03F4B25A080caC20B6962a4C9A", + "cellId": "EI-L25-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B20-C4" + }, + { + "lpbca": 25, + "branch": 20, + "class": 5, + "linearIndex": 5075, + "address": "0x0cD5bEb3454A8d6B6560cB538B6f2B60c0cEC360", + "cellId": "EI-L25-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B20-C5" + }, + { + "lpbca": 25, + "branch": 21, + "class": 0, + "linearIndex": 5076, + "address": "0xae6c96850Cfc9530dDaF455344498D8DC2e3CfF3", + "cellId": "EI-L25-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B21-C0" + }, + { + "lpbca": 25, + "branch": 21, + "class": 1, + "linearIndex": 5077, + "address": "0x9047d79417D5F40aCB032481FEa195A71a2D9797", + "cellId": "EI-L25-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B21-C1" + }, + { + "lpbca": 25, + "branch": 21, + "class": 2, + "linearIndex": 5078, + "address": "0x5410c3DF570cb3A922a546674Ae84E277fEc0238", + "cellId": "EI-L25-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B21-C2" + }, + { + "lpbca": 25, + "branch": 21, + "class": 3, + "linearIndex": 5079, + "address": "0x4472b53f0f265Da8c727d1D27f87Df476Af8A9D6", + "cellId": "EI-L25-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B21-C3" + }, + { + "lpbca": 25, + "branch": 21, + "class": 4, + "linearIndex": 5080, + "address": "0x3078fb46abDA27D1475b49FC516341e082F629CA", + "cellId": "EI-L25-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B21-C4" + }, + { + "lpbca": 25, + "branch": 21, + "class": 5, + "linearIndex": 5081, + "address": "0xa9f9cf2aa01041F538ac6D5C57BBaa6167176F4C", + "cellId": "EI-L25-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B21-C5" + }, + { + "lpbca": 25, + "branch": 22, + "class": 0, + "linearIndex": 5082, + "address": "0x042CC1290026Ec3a69814C2B38c74108E38373Ba", + "cellId": "EI-L25-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B22-C0" + }, + { + "lpbca": 25, + "branch": 22, + "class": 1, + "linearIndex": 5083, + "address": "0x438Aa05B53D66F43F2b78246260b52DDBA9CEF52", + "cellId": "EI-L25-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B22-C1" + }, + { + "lpbca": 25, + "branch": 22, + "class": 2, + "linearIndex": 5084, + "address": "0xF51F807b7F92a8875B0E90Face411c2B84B74294", + "cellId": "EI-L25-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B22-C2" + }, + { + "lpbca": 25, + "branch": 22, + "class": 3, + "linearIndex": 5085, + "address": "0xE521e83ebE1b099e8A9Cc7073fc8e59F7c912DB8", + "cellId": "EI-L25-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B22-C3" + }, + { + "lpbca": 25, + "branch": 22, + "class": 4, + "linearIndex": 5086, + "address": "0x3E6021da90d09B36d8e3F9e32d23AD25Aa9719Ee", + "cellId": "EI-L25-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B22-C4" + }, + { + "lpbca": 25, + "branch": 22, + "class": 5, + "linearIndex": 5087, + "address": "0xa02016dE95335A5A174D9fB7d80902aDA9e7F9FE", + "cellId": "EI-L25-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B22-C5" + }, + { + "lpbca": 25, + "branch": 23, + "class": 0, + "linearIndex": 5088, + "address": "0x7BB8e71f5199E93516e8CD82C0B137E97F0457A0", + "cellId": "EI-L25-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B23-C0" + }, + { + "lpbca": 25, + "branch": 23, + "class": 1, + "linearIndex": 5089, + "address": "0x2c94D69A1D1f60952F8B3061AE028458cE35bEFa", + "cellId": "EI-L25-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B23-C1" + }, + { + "lpbca": 25, + "branch": 23, + "class": 2, + "linearIndex": 5090, + "address": "0x567CF29DCf93a36f68826e58c81addA3dbe145F1", + "cellId": "EI-L25-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B23-C2" + }, + { + "lpbca": 25, + "branch": 23, + "class": 3, + "linearIndex": 5091, + "address": "0x26AE56A2e7630575605B254b81a69d4f6eAC1035", + "cellId": "EI-L25-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B23-C3" + }, + { + "lpbca": 25, + "branch": 23, + "class": 4, + "linearIndex": 5092, + "address": "0x4B3334496137A75eF7c7301218F11E8F1c032573", + "cellId": "EI-L25-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B23-C4" + }, + { + "lpbca": 25, + "branch": 23, + "class": 5, + "linearIndex": 5093, + "address": "0xcc733D9a2851Dce8C2A9aec843f6A88731ed62dD", + "cellId": "EI-L25-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B23-C5" + }, + { + "lpbca": 25, + "branch": 24, + "class": 0, + "linearIndex": 5094, + "address": "0x7ca23D00A160A3396b85d8d1E05458C164bcAF22", + "cellId": "EI-L25-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B24-C0" + }, + { + "lpbca": 25, + "branch": 24, + "class": 1, + "linearIndex": 5095, + "address": "0xaC35778c296cf62d65B3bd887C8B0a499c76822c", + "cellId": "EI-L25-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B24-C1" + }, + { + "lpbca": 25, + "branch": 24, + "class": 2, + "linearIndex": 5096, + "address": "0x057e77aEA65eAB6749590b70ed234ed7C284C683", + "cellId": "EI-L25-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B24-C2" + }, + { + "lpbca": 25, + "branch": 24, + "class": 3, + "linearIndex": 5097, + "address": "0xE8c1d02E58e29A0a6551d17e758cBFad696EdA80", + "cellId": "EI-L25-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B24-C3" + }, + { + "lpbca": 25, + "branch": 24, + "class": 4, + "linearIndex": 5098, + "address": "0x50944e885ee766D9Eddcc13907Fd147A18C7b880", + "cellId": "EI-L25-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B24-C4" + }, + { + "lpbca": 25, + "branch": 24, + "class": 5, + "linearIndex": 5099, + "address": "0xF8B4284060889e5510cC573dBdc91538cf24331F", + "cellId": "EI-L25-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B24-C5" + }, + { + "lpbca": 25, + "branch": 25, + "class": 0, + "linearIndex": 5100, + "address": "0xc63b2C6e64c1C0fb95B2C886c57F18fBa25D8e70", + "cellId": "EI-L25-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B25-C0" + }, + { + "lpbca": 25, + "branch": 25, + "class": 1, + "linearIndex": 5101, + "address": "0xa3D52c9aEFA3363B075816A69213aB4AF75dEe6F", + "cellId": "EI-L25-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B25-C1" + }, + { + "lpbca": 25, + "branch": 25, + "class": 2, + "linearIndex": 5102, + "address": "0x3842718Be84B48f19F1e738CA1e4a56e06d21691", + "cellId": "EI-L25-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B25-C2" + }, + { + "lpbca": 25, + "branch": 25, + "class": 3, + "linearIndex": 5103, + "address": "0x473A73399796bcfE905DA15A0632B88a6B1f16dD", + "cellId": "EI-L25-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B25-C3" + }, + { + "lpbca": 25, + "branch": 25, + "class": 4, + "linearIndex": 5104, + "address": "0x065f4B95005bA3e1Bc982abCC397D1e6122D170C", + "cellId": "EI-L25-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B25-C4" + }, + { + "lpbca": 25, + "branch": 25, + "class": 5, + "linearIndex": 5105, + "address": "0x2C8B936f2ed1ae4Bfd78CD3b733C124Ea962acE5", + "cellId": "EI-L25-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B25-C5" + }, + { + "lpbca": 25, + "branch": 26, + "class": 0, + "linearIndex": 5106, + "address": "0xB3a12172F05344E3ce3e21ba93582f41E19784c4", + "cellId": "EI-L25-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B26-C0" + }, + { + "lpbca": 25, + "branch": 26, + "class": 1, + "linearIndex": 5107, + "address": "0x7b8F90aa36363730a3E5b2486ADcDb970E7d0d4a", + "cellId": "EI-L25-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B26-C1" + }, + { + "lpbca": 25, + "branch": 26, + "class": 2, + "linearIndex": 5108, + "address": "0x78Ba86f4B7914200804DD587F7dF29FA95A00E0a", + "cellId": "EI-L25-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B26-C2" + }, + { + "lpbca": 25, + "branch": 26, + "class": 3, + "linearIndex": 5109, + "address": "0x287450eDF6A30E31B9AE6c5FE83Acfc99E91ef4d", + "cellId": "EI-L25-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B26-C3" + }, + { + "lpbca": 25, + "branch": 26, + "class": 4, + "linearIndex": 5110, + "address": "0x19bb56c626C8Ae47232cD5Cf1790eAa47Cf056dc", + "cellId": "EI-L25-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B26-C4" + }, + { + "lpbca": 25, + "branch": 26, + "class": 5, + "linearIndex": 5111, + "address": "0x66c8EeCd67C211cd069BC5654eDff272542b8ccB", + "cellId": "EI-L25-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B26-C5" + }, + { + "lpbca": 25, + "branch": 27, + "class": 0, + "linearIndex": 5112, + "address": "0x0FC67F29aEf2296dAe15ce5AF98432764d520c56", + "cellId": "EI-L25-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B27-C0" + }, + { + "lpbca": 25, + "branch": 27, + "class": 1, + "linearIndex": 5113, + "address": "0xa1e95540A7840EEDD9bDd36916BFD4558C2aD621", + "cellId": "EI-L25-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B27-C1" + }, + { + "lpbca": 25, + "branch": 27, + "class": 2, + "linearIndex": 5114, + "address": "0x07e2c6AeA4F6d733306F539Ad5159A4463dCEAE4", + "cellId": "EI-L25-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B27-C2" + }, + { + "lpbca": 25, + "branch": 27, + "class": 3, + "linearIndex": 5115, + "address": "0x451a4b362e41795Ad2CBA17aBb622509dcAa9e72", + "cellId": "EI-L25-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B27-C3" + }, + { + "lpbca": 25, + "branch": 27, + "class": 4, + "linearIndex": 5116, + "address": "0x11650fFB30e7924cD74bA457cD7C1642CFc4769B", + "cellId": "EI-L25-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B27-C4" + }, + { + "lpbca": 25, + "branch": 27, + "class": 5, + "linearIndex": 5117, + "address": "0xD799466F07d566b56f6a6b1e450FD0566cCBe7D8", + "cellId": "EI-L25-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B27-C5" + }, + { + "lpbca": 25, + "branch": 28, + "class": 0, + "linearIndex": 5118, + "address": "0x6e74E9eD812F7A5b69DE54EBE10Cf53bDbb66922", + "cellId": "EI-L25-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B28-C0" + }, + { + "lpbca": 25, + "branch": 28, + "class": 1, + "linearIndex": 5119, + "address": "0xEde3Ab6A8bECa2D9Abf28AA190E08EebFA7Bd622", + "cellId": "EI-L25-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B28-C1" + }, + { + "lpbca": 25, + "branch": 28, + "class": 2, + "linearIndex": 5120, + "address": "0x41FFE0Ad91bc1f418d59d0f81dB3f7588E9b8259", + "cellId": "EI-L25-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B28-C2" + }, + { + "lpbca": 25, + "branch": 28, + "class": 3, + "linearIndex": 5121, + "address": "0x3a9D4816b735aC10722849D1a2693bf80f79abD9", + "cellId": "EI-L25-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B28-C3" + }, + { + "lpbca": 25, + "branch": 28, + "class": 4, + "linearIndex": 5122, + "address": "0xBD167a49e075b5CaD2Df2EAa92a47c86fd9AF9c8", + "cellId": "EI-L25-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B28-C4" + }, + { + "lpbca": 25, + "branch": 28, + "class": 5, + "linearIndex": 5123, + "address": "0xc45f4D60Ed47EB3F971477f94B38524fEc073D2b", + "cellId": "EI-L25-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B28-C5" + }, + { + "lpbca": 25, + "branch": 29, + "class": 0, + "linearIndex": 5124, + "address": "0xf3A92E0Ca75Ba4439a3A5E0534ecC0ad715A5B64", + "cellId": "EI-L25-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B29-C0" + }, + { + "lpbca": 25, + "branch": 29, + "class": 1, + "linearIndex": 5125, + "address": "0x80379A5d652D7Fa2DB31a40dC652B7b0C0c6587e", + "cellId": "EI-L25-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B29-C1" + }, + { + "lpbca": 25, + "branch": 29, + "class": 2, + "linearIndex": 5126, + "address": "0xb553102F17A153A93A4477790BCfA842f3242C95", + "cellId": "EI-L25-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B29-C2" + }, + { + "lpbca": 25, + "branch": 29, + "class": 3, + "linearIndex": 5127, + "address": "0xFf6Ad78469533aCC716498eff1060B455E22E134", + "cellId": "EI-L25-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B29-C3" + }, + { + "lpbca": 25, + "branch": 29, + "class": 4, + "linearIndex": 5128, + "address": "0x2614C87BF8A50a4b4eC137286C9d14d9fE7A9c0a", + "cellId": "EI-L25-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B29-C4" + }, + { + "lpbca": 25, + "branch": 29, + "class": 5, + "linearIndex": 5129, + "address": "0xCbaF607c6bB8435fd01Ca34c020BA13321A4437a", + "cellId": "EI-L25-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B29-C5" + }, + { + "lpbca": 25, + "branch": 30, + "class": 0, + "linearIndex": 5130, + "address": "0x694C1BcA16b5eb2C324265CE697B305Da3efD49a", + "cellId": "EI-L25-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B30-C0" + }, + { + "lpbca": 25, + "branch": 30, + "class": 1, + "linearIndex": 5131, + "address": "0x7C1d9e80E8015D791817Bd72dc5BCEaAc5C7c0Fb", + "cellId": "EI-L25-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B30-C1" + }, + { + "lpbca": 25, + "branch": 30, + "class": 2, + "linearIndex": 5132, + "address": "0x3f63641d4268971D4E75d2AF8f780ECb59Fc6717", + "cellId": "EI-L25-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B30-C2" + }, + { + "lpbca": 25, + "branch": 30, + "class": 3, + "linearIndex": 5133, + "address": "0x378e6f5C7dB5a801c8aA77734baC84BbfeC8EC2e", + "cellId": "EI-L25-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B30-C3" + }, + { + "lpbca": 25, + "branch": 30, + "class": 4, + "linearIndex": 5134, + "address": "0xBA5a2a3A3712bF27Af1b0936A5843aAF8c0428f4", + "cellId": "EI-L25-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B30-C4" + }, + { + "lpbca": 25, + "branch": 30, + "class": 5, + "linearIndex": 5135, + "address": "0xA42f176518EBF96897191AFd1d088e1733ef8821", + "cellId": "EI-L25-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B30-C5" + }, + { + "lpbca": 25, + "branch": 31, + "class": 0, + "linearIndex": 5136, + "address": "0x230D382435FF1305e83775D10172f472cA093901", + "cellId": "EI-L25-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B31-C0" + }, + { + "lpbca": 25, + "branch": 31, + "class": 1, + "linearIndex": 5137, + "address": "0xCe00609a09141F8b3deC78aeA7188DefDd78b937", + "cellId": "EI-L25-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B31-C1" + }, + { + "lpbca": 25, + "branch": 31, + "class": 2, + "linearIndex": 5138, + "address": "0xbBA2d8cd01131AcDB9CFBF42F517D70fCc3B9C5D", + "cellId": "EI-L25-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B31-C2" + }, + { + "lpbca": 25, + "branch": 31, + "class": 3, + "linearIndex": 5139, + "address": "0xfeFAdAb7Eff6FDc077633E162E2811C5073d8405", + "cellId": "EI-L25-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B31-C3" + }, + { + "lpbca": 25, + "branch": 31, + "class": 4, + "linearIndex": 5140, + "address": "0x290A2842f06A0BD89BF3AB4a17161EC6a2F4509C", + "cellId": "EI-L25-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B31-C4" + }, + { + "lpbca": 25, + "branch": 31, + "class": 5, + "linearIndex": 5141, + "address": "0x86966E4F02D4B0bF4a8b2f856095a514F46CEd2F", + "cellId": "EI-L25-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B31-C5" + }, + { + "lpbca": 25, + "branch": 32, + "class": 0, + "linearIndex": 5142, + "address": "0xCd9991E67e4a9b2B3f713cc8E643e4476458F7c0", + "cellId": "EI-L25-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B32-C0" + }, + { + "lpbca": 25, + "branch": 32, + "class": 1, + "linearIndex": 5143, + "address": "0xE26aF5d7B84C48C0f559e65c0E329E56a6793B53", + "cellId": "EI-L25-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B32-C1" + }, + { + "lpbca": 25, + "branch": 32, + "class": 2, + "linearIndex": 5144, + "address": "0x20150E5d8b40938F4e9D4802360eA0C930fB6502", + "cellId": "EI-L25-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B32-C2" + }, + { + "lpbca": 25, + "branch": 32, + "class": 3, + "linearIndex": 5145, + "address": "0x214DB976bA1e9dc04a7Ea9Ca45d4B8D4E30732Ce", + "cellId": "EI-L25-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B32-C3" + }, + { + "lpbca": 25, + "branch": 32, + "class": 4, + "linearIndex": 5146, + "address": "0xF352399F055c34bf4423b85232C2B21fC0D005Eb", + "cellId": "EI-L25-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B32-C4" + }, + { + "lpbca": 25, + "branch": 32, + "class": 5, + "linearIndex": 5147, + "address": "0xcE7c5020C5b0cff280f7F7db8148640b31832F42", + "cellId": "EI-L25-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L25-B32-C5" + }, + { + "lpbca": 26, + "branch": 0, + "class": 0, + "linearIndex": 5148, + "address": "0xbC90A238857Da7a42B35f1861F0849cC5D4c1670", + "cellId": "EI-L26-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B00-C0" + }, + { + "lpbca": 26, + "branch": 0, + "class": 1, + "linearIndex": 5149, + "address": "0x28c9B3A9AE0aAea8fC4D93D169edB42c71143c2b", + "cellId": "EI-L26-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B00-C1" + }, + { + "lpbca": 26, + "branch": 0, + "class": 2, + "linearIndex": 5150, + "address": "0xB9D787F00c3b6169Fda3B6f38E7FCe7D553649e2", + "cellId": "EI-L26-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B00-C2" + }, + { + "lpbca": 26, + "branch": 0, + "class": 3, + "linearIndex": 5151, + "address": "0x6bf6B6b27A9cef60FD08D085F184a10AC7ebB145", + "cellId": "EI-L26-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B00-C3" + }, + { + "lpbca": 26, + "branch": 0, + "class": 4, + "linearIndex": 5152, + "address": "0xD5E29EC6dF90b43641941742cC7FCa09f7723E19", + "cellId": "EI-L26-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B00-C4" + }, + { + "lpbca": 26, + "branch": 0, + "class": 5, + "linearIndex": 5153, + "address": "0x60461B38839609f0978757A7329C07cD2d2bC672", + "cellId": "EI-L26-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B00-C5" + }, + { + "lpbca": 26, + "branch": 1, + "class": 0, + "linearIndex": 5154, + "address": "0x3e4eD393FF85c9417DC26c73619Edd1266350eeF", + "cellId": "EI-L26-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B01-C0" + }, + { + "lpbca": 26, + "branch": 1, + "class": 1, + "linearIndex": 5155, + "address": "0x903aFC89f249C82498634EDA0b20d17Eab12a462", + "cellId": "EI-L26-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B01-C1" + }, + { + "lpbca": 26, + "branch": 1, + "class": 2, + "linearIndex": 5156, + "address": "0x04aCC971826B37367835b8c15559B52B21fa8b4E", + "cellId": "EI-L26-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B01-C2" + }, + { + "lpbca": 26, + "branch": 1, + "class": 3, + "linearIndex": 5157, + "address": "0xAC5921A2c7287534ffc1eCD52a276FBE8e8A96DE", + "cellId": "EI-L26-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B01-C3" + }, + { + "lpbca": 26, + "branch": 1, + "class": 4, + "linearIndex": 5158, + "address": "0xbA4f1ecee83b43b869A326DcE26bC0bDDC5839c7", + "cellId": "EI-L26-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B01-C4" + }, + { + "lpbca": 26, + "branch": 1, + "class": 5, + "linearIndex": 5159, + "address": "0x2d8dbd94A117C1D13eAbd640d903f9090542031d", + "cellId": "EI-L26-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B01-C5" + }, + { + "lpbca": 26, + "branch": 2, + "class": 0, + "linearIndex": 5160, + "address": "0xe9a512702d741A6f1075298c3B1f7721c86b2B2C", + "cellId": "EI-L26-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B02-C0" + }, + { + "lpbca": 26, + "branch": 2, + "class": 1, + "linearIndex": 5161, + "address": "0xa1Cf54500aF9dec0AAEFCA308DDc6Af28ED4669c", + "cellId": "EI-L26-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B02-C1" + }, + { + "lpbca": 26, + "branch": 2, + "class": 2, + "linearIndex": 5162, + "address": "0x954eBB6B4D5eD1abF6b5069224745Fbb22Bf0EFF", + "cellId": "EI-L26-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B02-C2" + }, + { + "lpbca": 26, + "branch": 2, + "class": 3, + "linearIndex": 5163, + "address": "0x3e909B0E74fDE1dc4384F69cEb9ba70bD97ecF35", + "cellId": "EI-L26-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B02-C3" + }, + { + "lpbca": 26, + "branch": 2, + "class": 4, + "linearIndex": 5164, + "address": "0x246123197fEA0087f4714AEfD79CbeD1b15b9e86", + "cellId": "EI-L26-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B02-C4" + }, + { + "lpbca": 26, + "branch": 2, + "class": 5, + "linearIndex": 5165, + "address": "0xB52cf5f268CDF9B0E6EfC568419D88d237960380", + "cellId": "EI-L26-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B02-C5" + }, + { + "lpbca": 26, + "branch": 3, + "class": 0, + "linearIndex": 5166, + "address": "0x3B655DD6da0598A4A7D69aF3Cacae8bFDEfe455E", + "cellId": "EI-L26-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B03-C0" + }, + { + "lpbca": 26, + "branch": 3, + "class": 1, + "linearIndex": 5167, + "address": "0xE8A375d8678dB0E63E51433A77C83Cf90B4Fcd38", + "cellId": "EI-L26-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B03-C1" + }, + { + "lpbca": 26, + "branch": 3, + "class": 2, + "linearIndex": 5168, + "address": "0x89636eD1bBEa21138876A102Dec28917c0d620cE", + "cellId": "EI-L26-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B03-C2" + }, + { + "lpbca": 26, + "branch": 3, + "class": 3, + "linearIndex": 5169, + "address": "0x2C40c25eD324A91baCc8F99C261AB95DE9Cb14aE", + "cellId": "EI-L26-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B03-C3" + }, + { + "lpbca": 26, + "branch": 3, + "class": 4, + "linearIndex": 5170, + "address": "0xC0C908Cc46B6696061055aCAF0649c3a23aE4914", + "cellId": "EI-L26-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B03-C4" + }, + { + "lpbca": 26, + "branch": 3, + "class": 5, + "linearIndex": 5171, + "address": "0x6069A88f84AA1f6F4cD0D678c8484f4D7c7c8D25", + "cellId": "EI-L26-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B03-C5" + }, + { + "lpbca": 26, + "branch": 4, + "class": 0, + "linearIndex": 5172, + "address": "0x9b9e0567760e0Ba826F97ABAcbc885fffd2C5D9F", + "cellId": "EI-L26-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B04-C0" + }, + { + "lpbca": 26, + "branch": 4, + "class": 1, + "linearIndex": 5173, + "address": "0x3bD10769D4e081563509995b07e54B7A88a4c8e3", + "cellId": "EI-L26-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B04-C1" + }, + { + "lpbca": 26, + "branch": 4, + "class": 2, + "linearIndex": 5174, + "address": "0x5768602fF654883Fe8dce0f228EC908d5021EDdf", + "cellId": "EI-L26-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B04-C2" + }, + { + "lpbca": 26, + "branch": 4, + "class": 3, + "linearIndex": 5175, + "address": "0xE72A859bbDD9558CDf013F0acCE52bde59E736DC", + "cellId": "EI-L26-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B04-C3" + }, + { + "lpbca": 26, + "branch": 4, + "class": 4, + "linearIndex": 5176, + "address": "0x5368e0fa2Ce1f2244efaE133C6785d05351F23Cb", + "cellId": "EI-L26-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B04-C4" + }, + { + "lpbca": 26, + "branch": 4, + "class": 5, + "linearIndex": 5177, + "address": "0x1CcD3Fb5D08d3B9FEb003BC4E0F9c5779f2968B2", + "cellId": "EI-L26-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B04-C5" + }, + { + "lpbca": 26, + "branch": 5, + "class": 0, + "linearIndex": 5178, + "address": "0xf62bc94199a72917496fcEa3A82D24dBc67a995f", + "cellId": "EI-L26-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B05-C0" + }, + { + "lpbca": 26, + "branch": 5, + "class": 1, + "linearIndex": 5179, + "address": "0x482991d5EBE6395a653C23AF7EAe7f1696Fcb6a2", + "cellId": "EI-L26-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B05-C1" + }, + { + "lpbca": 26, + "branch": 5, + "class": 2, + "linearIndex": 5180, + "address": "0xa6462eE89C336a5B51A0482806F5addf73d36Ccd", + "cellId": "EI-L26-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B05-C2" + }, + { + "lpbca": 26, + "branch": 5, + "class": 3, + "linearIndex": 5181, + "address": "0xD02227D3Ba3a747835716adaE9416720bF208d76", + "cellId": "EI-L26-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B05-C3" + }, + { + "lpbca": 26, + "branch": 5, + "class": 4, + "linearIndex": 5182, + "address": "0x1BBD00847315785036E1Ab4d727Db992Ae981D55", + "cellId": "EI-L26-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B05-C4" + }, + { + "lpbca": 26, + "branch": 5, + "class": 5, + "linearIndex": 5183, + "address": "0x37b0fb617C0700c52543C32D3A5F7B1D9712aE09", + "cellId": "EI-L26-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B05-C5" + }, + { + "lpbca": 26, + "branch": 6, + "class": 0, + "linearIndex": 5184, + "address": "0x1C03d765719A9a9dA1D39186005492D4f09cf724", + "cellId": "EI-L26-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B06-C0" + }, + { + "lpbca": 26, + "branch": 6, + "class": 1, + "linearIndex": 5185, + "address": "0x4bB3fd435ba3c4348256B11c88076E2124073E3d", + "cellId": "EI-L26-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B06-C1" + }, + { + "lpbca": 26, + "branch": 6, + "class": 2, + "linearIndex": 5186, + "address": "0x8B7e144E66C8A68C8d23523b4Fc7D7ef9B90A673", + "cellId": "EI-L26-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B06-C2" + }, + { + "lpbca": 26, + "branch": 6, + "class": 3, + "linearIndex": 5187, + "address": "0x7b355f2D2852cEA7da99346298f72898A35886e8", + "cellId": "EI-L26-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B06-C3" + }, + { + "lpbca": 26, + "branch": 6, + "class": 4, + "linearIndex": 5188, + "address": "0x00aB16cb9d3483F718cDc770C66452A48EBE028f", + "cellId": "EI-L26-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B06-C4" + }, + { + "lpbca": 26, + "branch": 6, + "class": 5, + "linearIndex": 5189, + "address": "0x8921632D7B29E9EF72c728A59090E471cb80cF2f", + "cellId": "EI-L26-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B06-C5" + }, + { + "lpbca": 26, + "branch": 7, + "class": 0, + "linearIndex": 5190, + "address": "0xACd54ed4CA6B241C611A7b80AF5DEFFdaB4aCF96", + "cellId": "EI-L26-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B07-C0" + }, + { + "lpbca": 26, + "branch": 7, + "class": 1, + "linearIndex": 5191, + "address": "0x3c28f8dc2C2b65FF5EAE58CF671a1Ad5129BEb6f", + "cellId": "EI-L26-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B07-C1" + }, + { + "lpbca": 26, + "branch": 7, + "class": 2, + "linearIndex": 5192, + "address": "0xaE312Bcbc41af9cF7C8b5b85960E94ff5dD1444e", + "cellId": "EI-L26-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B07-C2" + }, + { + "lpbca": 26, + "branch": 7, + "class": 3, + "linearIndex": 5193, + "address": "0xd2279d1A0A519F1362da948aE331B6eaF5Ea69f9", + "cellId": "EI-L26-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B07-C3" + }, + { + "lpbca": 26, + "branch": 7, + "class": 4, + "linearIndex": 5194, + "address": "0x40E5962A4488dbe346DCf7431b22eea1Fdd8094d", + "cellId": "EI-L26-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B07-C4" + }, + { + "lpbca": 26, + "branch": 7, + "class": 5, + "linearIndex": 5195, + "address": "0x74C720C77AA5bB57daFDe3a80fa9f27ab9361aB4", + "cellId": "EI-L26-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B07-C5" + }, + { + "lpbca": 26, + "branch": 8, + "class": 0, + "linearIndex": 5196, + "address": "0xaE173Be99D06D4155Bff962AaFB4cCB8775c77Da", + "cellId": "EI-L26-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B08-C0" + }, + { + "lpbca": 26, + "branch": 8, + "class": 1, + "linearIndex": 5197, + "address": "0x7D5d2e6Ec785c6578216921E15fef5CB03dC9aFe", + "cellId": "EI-L26-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B08-C1" + }, + { + "lpbca": 26, + "branch": 8, + "class": 2, + "linearIndex": 5198, + "address": "0xA124cee78b55ABef403f9937c11ca136dd1977C7", + "cellId": "EI-L26-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B08-C2" + }, + { + "lpbca": 26, + "branch": 8, + "class": 3, + "linearIndex": 5199, + "address": "0xFd652236d4BfbFCC13174ac994DcA62c4ebc4E1b", + "cellId": "EI-L26-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B08-C3" + }, + { + "lpbca": 26, + "branch": 8, + "class": 4, + "linearIndex": 5200, + "address": "0x4E2fa5CB5B71E27371E3626aaACFd810DFB94658", + "cellId": "EI-L26-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B08-C4" + }, + { + "lpbca": 26, + "branch": 8, + "class": 5, + "linearIndex": 5201, + "address": "0x1c661EE19499d51623c92A6E4EDAA547d784DA4F", + "cellId": "EI-L26-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B08-C5" + }, + { + "lpbca": 26, + "branch": 9, + "class": 0, + "linearIndex": 5202, + "address": "0xDd6c11a9FFCb299eF6D61b833cc2C12dbe8e7f85", + "cellId": "EI-L26-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B09-C0" + }, + { + "lpbca": 26, + "branch": 9, + "class": 1, + "linearIndex": 5203, + "address": "0x79D8b1990ea1dAc2C9C45AEed032e1Ad1ba0B095", + "cellId": "EI-L26-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B09-C1" + }, + { + "lpbca": 26, + "branch": 9, + "class": 2, + "linearIndex": 5204, + "address": "0x92243f6f6de86f93f9ADd473cDABb2CFD3Ff9091", + "cellId": "EI-L26-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B09-C2" + }, + { + "lpbca": 26, + "branch": 9, + "class": 3, + "linearIndex": 5205, + "address": "0xE2eA456A174A0882e7e8fb71C6b0dA42d9a53E80", + "cellId": "EI-L26-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B09-C3" + }, + { + "lpbca": 26, + "branch": 9, + "class": 4, + "linearIndex": 5206, + "address": "0x3Df2bb2c1a686965a5D95C58B65Ddcf39286EFa9", + "cellId": "EI-L26-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B09-C4" + }, + { + "lpbca": 26, + "branch": 9, + "class": 5, + "linearIndex": 5207, + "address": "0xf8399454f70FB37EFB922BF8944123F251dcd41B", + "cellId": "EI-L26-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B09-C5" + }, + { + "lpbca": 26, + "branch": 10, + "class": 0, + "linearIndex": 5208, + "address": "0xfECAa08dDE49eE6663b2C31F8989831c168a2a5A", + "cellId": "EI-L26-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B10-C0" + }, + { + "lpbca": 26, + "branch": 10, + "class": 1, + "linearIndex": 5209, + "address": "0x7d1e5F40d17C6e95F7C1219a3C3Ec87A89b9551F", + "cellId": "EI-L26-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B10-C1" + }, + { + "lpbca": 26, + "branch": 10, + "class": 2, + "linearIndex": 5210, + "address": "0x6C9d36A7795e0bF572036Ba25297c18543cD777D", + "cellId": "EI-L26-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B10-C2" + }, + { + "lpbca": 26, + "branch": 10, + "class": 3, + "linearIndex": 5211, + "address": "0x573cc62F350121655CAFeE17164772F881212CeC", + "cellId": "EI-L26-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B10-C3" + }, + { + "lpbca": 26, + "branch": 10, + "class": 4, + "linearIndex": 5212, + "address": "0x30626A3C057831E0C8C0b69A5434504ee565F355", + "cellId": "EI-L26-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B10-C4" + }, + { + "lpbca": 26, + "branch": 10, + "class": 5, + "linearIndex": 5213, + "address": "0xb8Daa6Ce27205354b07CD3F06B4389781EFA0C97", + "cellId": "EI-L26-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B10-C5" + }, + { + "lpbca": 26, + "branch": 11, + "class": 0, + "linearIndex": 5214, + "address": "0x8565Eba14bbbD1E87b949Aaabc90061fe23a990E", + "cellId": "EI-L26-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B11-C0" + }, + { + "lpbca": 26, + "branch": 11, + "class": 1, + "linearIndex": 5215, + "address": "0xCE7071785267496011Aeb6133736B664B5B5E7cd", + "cellId": "EI-L26-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B11-C1" + }, + { + "lpbca": 26, + "branch": 11, + "class": 2, + "linearIndex": 5216, + "address": "0xE53d4eA9553A48aeb7e214b6ffD392ab41472635", + "cellId": "EI-L26-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B11-C2" + }, + { + "lpbca": 26, + "branch": 11, + "class": 3, + "linearIndex": 5217, + "address": "0x4d3bDbc99318C7F5407EBB542bc0e7Ae85664916", + "cellId": "EI-L26-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B11-C3" + }, + { + "lpbca": 26, + "branch": 11, + "class": 4, + "linearIndex": 5218, + "address": "0xfe4c384F8D56Df660F6634fBCa623284807b51B1", + "cellId": "EI-L26-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B11-C4" + }, + { + "lpbca": 26, + "branch": 11, + "class": 5, + "linearIndex": 5219, + "address": "0x1dF042B16aB14367a8C976b29eAbE5A9726dC400", + "cellId": "EI-L26-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B11-C5" + }, + { + "lpbca": 26, + "branch": 12, + "class": 0, + "linearIndex": 5220, + "address": "0x432032251d0a336F28289C4504842aeA560C3222", + "cellId": "EI-L26-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B12-C0" + }, + { + "lpbca": 26, + "branch": 12, + "class": 1, + "linearIndex": 5221, + "address": "0x411AaB56b0467b168CBa4F699A6F8Ba1834bb9ef", + "cellId": "EI-L26-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B12-C1" + }, + { + "lpbca": 26, + "branch": 12, + "class": 2, + "linearIndex": 5222, + "address": "0x1dd3ed354778d503271D8ae2173D70141661Fdc4", + "cellId": "EI-L26-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B12-C2" + }, + { + "lpbca": 26, + "branch": 12, + "class": 3, + "linearIndex": 5223, + "address": "0x1F96e6Eb59d6779220E638F931C2B4c05F23A53C", + "cellId": "EI-L26-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B12-C3" + }, + { + "lpbca": 26, + "branch": 12, + "class": 4, + "linearIndex": 5224, + "address": "0xE7aBda73Fd6dF231ADcedbcB14C5736C821249Fb", + "cellId": "EI-L26-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B12-C4" + }, + { + "lpbca": 26, + "branch": 12, + "class": 5, + "linearIndex": 5225, + "address": "0x38326169cBe788aee2ccc6F9c4D02c65366326E1", + "cellId": "EI-L26-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B12-C5" + }, + { + "lpbca": 26, + "branch": 13, + "class": 0, + "linearIndex": 5226, + "address": "0xd275Bf6daBA0E210FF4Bc70C8af354abFC47643f", + "cellId": "EI-L26-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B13-C0" + }, + { + "lpbca": 26, + "branch": 13, + "class": 1, + "linearIndex": 5227, + "address": "0xEe246477FE0Caf273c63031C89e23DC5cAe33941", + "cellId": "EI-L26-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B13-C1" + }, + { + "lpbca": 26, + "branch": 13, + "class": 2, + "linearIndex": 5228, + "address": "0x1ABE7566eEce39aE3eDBF0e4B4E83C04E8F8Ee73", + "cellId": "EI-L26-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B13-C2" + }, + { + "lpbca": 26, + "branch": 13, + "class": 3, + "linearIndex": 5229, + "address": "0x7Cf40e4984334794d9edB2a2135a4cb58848CA18", + "cellId": "EI-L26-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B13-C3" + }, + { + "lpbca": 26, + "branch": 13, + "class": 4, + "linearIndex": 5230, + "address": "0x14a0a06126e5D1E6Ff50b480Ba7bd79c2EA21a33", + "cellId": "EI-L26-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B13-C4" + }, + { + "lpbca": 26, + "branch": 13, + "class": 5, + "linearIndex": 5231, + "address": "0xbC95D85D56c5caC87Ef73b50FfCB431901E7f633", + "cellId": "EI-L26-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B13-C5" + }, + { + "lpbca": 26, + "branch": 14, + "class": 0, + "linearIndex": 5232, + "address": "0xdEb32b3469f03f13E72a4E3497422C962892a562", + "cellId": "EI-L26-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B14-C0" + }, + { + "lpbca": 26, + "branch": 14, + "class": 1, + "linearIndex": 5233, + "address": "0x735dcb887cAeCf4F2705312d5Fba90dDf3f80607", + "cellId": "EI-L26-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B14-C1" + }, + { + "lpbca": 26, + "branch": 14, + "class": 2, + "linearIndex": 5234, + "address": "0x2673aF2feCFe4707bCa7108ED31E652bE3706944", + "cellId": "EI-L26-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B14-C2" + }, + { + "lpbca": 26, + "branch": 14, + "class": 3, + "linearIndex": 5235, + "address": "0x1dfcD854FAcb2FfE7060C06607ED8ec5114Fb88B", + "cellId": "EI-L26-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B14-C3" + }, + { + "lpbca": 26, + "branch": 14, + "class": 4, + "linearIndex": 5236, + "address": "0xC2a5fcef3f24FB7D5102aEeF6FAFfa6955DB62fc", + "cellId": "EI-L26-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B14-C4" + }, + { + "lpbca": 26, + "branch": 14, + "class": 5, + "linearIndex": 5237, + "address": "0x6028FEA1b7CC628cAB5196701C96C904d4F9731A", + "cellId": "EI-L26-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B14-C5" + }, + { + "lpbca": 26, + "branch": 15, + "class": 0, + "linearIndex": 5238, + "address": "0xcD29C6Ab336Da5d5588970414145732359A9cd94", + "cellId": "EI-L26-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B15-C0" + }, + { + "lpbca": 26, + "branch": 15, + "class": 1, + "linearIndex": 5239, + "address": "0x55c4afC2a70D460173FF31248dFA4897dCbf098e", + "cellId": "EI-L26-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B15-C1" + }, + { + "lpbca": 26, + "branch": 15, + "class": 2, + "linearIndex": 5240, + "address": "0xAe48A3B09A7e114354a83b978406d0b3a558e6A0", + "cellId": "EI-L26-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B15-C2" + }, + { + "lpbca": 26, + "branch": 15, + "class": 3, + "linearIndex": 5241, + "address": "0x9d143C837d157aA322c74bEFa202B0DD799DF6CE", + "cellId": "EI-L26-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B15-C3" + }, + { + "lpbca": 26, + "branch": 15, + "class": 4, + "linearIndex": 5242, + "address": "0xFBE21ccC3DDD3853d9a61E927D8a68740dCDd0d7", + "cellId": "EI-L26-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B15-C4" + }, + { + "lpbca": 26, + "branch": 15, + "class": 5, + "linearIndex": 5243, + "address": "0xF0439d523c3eBc3B71d287b758e9619F7a25e1e2", + "cellId": "EI-L26-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B15-C5" + }, + { + "lpbca": 26, + "branch": 16, + "class": 0, + "linearIndex": 5244, + "address": "0xc4fdF74020D2Ef85b32E2401fC489E612b165846", + "cellId": "EI-L26-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B16-C0" + }, + { + "lpbca": 26, + "branch": 16, + "class": 1, + "linearIndex": 5245, + "address": "0x04Ff3C538E40c834BdAF4Ea7cdaD8dC960D03227", + "cellId": "EI-L26-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B16-C1" + }, + { + "lpbca": 26, + "branch": 16, + "class": 2, + "linearIndex": 5246, + "address": "0x3CDC6b72948c3Bfb761c9634f6c10bB05e3Fe298", + "cellId": "EI-L26-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B16-C2" + }, + { + "lpbca": 26, + "branch": 16, + "class": 3, + "linearIndex": 5247, + "address": "0x4C99b358E7C21Ef42979b1F0ccA86237a9974A85", + "cellId": "EI-L26-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B16-C3" + }, + { + "lpbca": 26, + "branch": 16, + "class": 4, + "linearIndex": 5248, + "address": "0xDC955212dC04FF7C55337bF46a220163EF2Ca0E2", + "cellId": "EI-L26-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B16-C4" + }, + { + "lpbca": 26, + "branch": 16, + "class": 5, + "linearIndex": 5249, + "address": "0x66D314B5E64Fd542b145182e79cADB9B92fbb4D4", + "cellId": "EI-L26-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B16-C5" + }, + { + "lpbca": 26, + "branch": 17, + "class": 0, + "linearIndex": 5250, + "address": "0x3cce557B8Acdf00EA6d1Cc517bdD6c3A9b96fe1e", + "cellId": "EI-L26-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B17-C0" + }, + { + "lpbca": 26, + "branch": 17, + "class": 1, + "linearIndex": 5251, + "address": "0x4b72273748F973d6fBF81d9Aa37Ae215330457D0", + "cellId": "EI-L26-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B17-C1" + }, + { + "lpbca": 26, + "branch": 17, + "class": 2, + "linearIndex": 5252, + "address": "0x6963d8243d84B34454734ca256dB9E77B99A8C99", + "cellId": "EI-L26-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B17-C2" + }, + { + "lpbca": 26, + "branch": 17, + "class": 3, + "linearIndex": 5253, + "address": "0x64b344Ad9D1FeB396166a5a90474d4a770232d93", + "cellId": "EI-L26-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B17-C3" + }, + { + "lpbca": 26, + "branch": 17, + "class": 4, + "linearIndex": 5254, + "address": "0xFf0Fe72c64172774bbfdAEDAB8E3757e96D27209", + "cellId": "EI-L26-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B17-C4" + }, + { + "lpbca": 26, + "branch": 17, + "class": 5, + "linearIndex": 5255, + "address": "0x67F2B02222136738E1BC76704509f80D8c4cA18b", + "cellId": "EI-L26-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B17-C5" + }, + { + "lpbca": 26, + "branch": 18, + "class": 0, + "linearIndex": 5256, + "address": "0x6E0AE48428390061568b31094ed1C9e688F2d0f2", + "cellId": "EI-L26-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B18-C0" + }, + { + "lpbca": 26, + "branch": 18, + "class": 1, + "linearIndex": 5257, + "address": "0x8c0B2d5f2fcBd7A2ea08F8248313C966B481CF73", + "cellId": "EI-L26-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B18-C1" + }, + { + "lpbca": 26, + "branch": 18, + "class": 2, + "linearIndex": 5258, + "address": "0x72Bd0F940056bB56b7ab326BfF2dFfca3F7667c3", + "cellId": "EI-L26-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B18-C2" + }, + { + "lpbca": 26, + "branch": 18, + "class": 3, + "linearIndex": 5259, + "address": "0x93D26bB0a74e530ABFee5184F4dA1326Bb907A2F", + "cellId": "EI-L26-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B18-C3" + }, + { + "lpbca": 26, + "branch": 18, + "class": 4, + "linearIndex": 5260, + "address": "0x9a9c90EfeC1963E6c72Ae2d8e354721a15D74227", + "cellId": "EI-L26-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B18-C4" + }, + { + "lpbca": 26, + "branch": 18, + "class": 5, + "linearIndex": 5261, + "address": "0xAE98855b43A90bd3e7dCE60ed9545630c12Ff176", + "cellId": "EI-L26-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B18-C5" + }, + { + "lpbca": 26, + "branch": 19, + "class": 0, + "linearIndex": 5262, + "address": "0x4131FE274f5cDE3CBc9660816668bb48c100bac6", + "cellId": "EI-L26-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B19-C0" + }, + { + "lpbca": 26, + "branch": 19, + "class": 1, + "linearIndex": 5263, + "address": "0x2Cc24a0aDEF87E4cdaC9Ea6B3c4f369f41ce65Ab", + "cellId": "EI-L26-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B19-C1" + }, + { + "lpbca": 26, + "branch": 19, + "class": 2, + "linearIndex": 5264, + "address": "0x558Ee8EFc3d120deEfC1418318ED48a713cF83ce", + "cellId": "EI-L26-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B19-C2" + }, + { + "lpbca": 26, + "branch": 19, + "class": 3, + "linearIndex": 5265, + "address": "0x2dD430925F6292574be2120f8d3C7F253C68eAD3", + "cellId": "EI-L26-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B19-C3" + }, + { + "lpbca": 26, + "branch": 19, + "class": 4, + "linearIndex": 5266, + "address": "0x63273f9530e5b6880A92db87B4B6bbb8b1574A22", + "cellId": "EI-L26-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B19-C4" + }, + { + "lpbca": 26, + "branch": 19, + "class": 5, + "linearIndex": 5267, + "address": "0x3ca3B541dA827E3E9feeA38C69d5B5D4849FEFAB", + "cellId": "EI-L26-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B19-C5" + }, + { + "lpbca": 26, + "branch": 20, + "class": 0, + "linearIndex": 5268, + "address": "0x1a046299f3ec67Ff30A8b4eE617835622D6e3573", + "cellId": "EI-L26-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B20-C0" + }, + { + "lpbca": 26, + "branch": 20, + "class": 1, + "linearIndex": 5269, + "address": "0xa4a3d4Dc3D43fBeB12351FD5E2F40331b706844c", + "cellId": "EI-L26-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B20-C1" + }, + { + "lpbca": 26, + "branch": 20, + "class": 2, + "linearIndex": 5270, + "address": "0xd3165139Cc6b9fE4ecfB6a179Ca200510D6237De", + "cellId": "EI-L26-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B20-C2" + }, + { + "lpbca": 26, + "branch": 20, + "class": 3, + "linearIndex": 5271, + "address": "0xc84972D6F78167BDF597359B8fe224b4265eca82", + "cellId": "EI-L26-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B20-C3" + }, + { + "lpbca": 26, + "branch": 20, + "class": 4, + "linearIndex": 5272, + "address": "0xB046F326518a8AC8631e0C8C7690A4CCED0B5f86", + "cellId": "EI-L26-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B20-C4" + }, + { + "lpbca": 26, + "branch": 20, + "class": 5, + "linearIndex": 5273, + "address": "0x26253A5A22f50b7E6f9F074444Cf7BB3e49114bD", + "cellId": "EI-L26-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B20-C5" + }, + { + "lpbca": 26, + "branch": 21, + "class": 0, + "linearIndex": 5274, + "address": "0xE1aB512436d4a8FC2AC69910FB32E5ED423501a3", + "cellId": "EI-L26-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B21-C0" + }, + { + "lpbca": 26, + "branch": 21, + "class": 1, + "linearIndex": 5275, + "address": "0xe86aDb49c1eB509d981b52282d1F77Afa9858Ec2", + "cellId": "EI-L26-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B21-C1" + }, + { + "lpbca": 26, + "branch": 21, + "class": 2, + "linearIndex": 5276, + "address": "0x50911908F17c693d5504E307494b53289f9dc869", + "cellId": "EI-L26-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B21-C2" + }, + { + "lpbca": 26, + "branch": 21, + "class": 3, + "linearIndex": 5277, + "address": "0x5971743af1706B3983013854EDDCEc5bdd576DCe", + "cellId": "EI-L26-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B21-C3" + }, + { + "lpbca": 26, + "branch": 21, + "class": 4, + "linearIndex": 5278, + "address": "0x299CC404933766B1E9380436CA47E832Ea5Aa1E0", + "cellId": "EI-L26-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B21-C4" + }, + { + "lpbca": 26, + "branch": 21, + "class": 5, + "linearIndex": 5279, + "address": "0x63993D55946dF1bD03d57BeA058ccC6aD1BdA4F9", + "cellId": "EI-L26-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B21-C5" + }, + { + "lpbca": 26, + "branch": 22, + "class": 0, + "linearIndex": 5280, + "address": "0xB2D4bD0dD8dB128a1c13812b74b7EF90E6ab6Dc7", + "cellId": "EI-L26-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B22-C0" + }, + { + "lpbca": 26, + "branch": 22, + "class": 1, + "linearIndex": 5281, + "address": "0xB559497B6dba3841136b16447832bF6A359acd65", + "cellId": "EI-L26-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B22-C1" + }, + { + "lpbca": 26, + "branch": 22, + "class": 2, + "linearIndex": 5282, + "address": "0x61a25aa20816448aF6d6528B3aDAaF6F18320E48", + "cellId": "EI-L26-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B22-C2" + }, + { + "lpbca": 26, + "branch": 22, + "class": 3, + "linearIndex": 5283, + "address": "0xc3CB895EC2B86f73D151F14B3Ac13e3ff479447E", + "cellId": "EI-L26-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B22-C3" + }, + { + "lpbca": 26, + "branch": 22, + "class": 4, + "linearIndex": 5284, + "address": "0x14cEB7a9451733E8aE6C17A7017fb25F94290D62", + "cellId": "EI-L26-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B22-C4" + }, + { + "lpbca": 26, + "branch": 22, + "class": 5, + "linearIndex": 5285, + "address": "0x47F447B673F3Ebd81a836A3Cd571463c45f7781a", + "cellId": "EI-L26-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B22-C5" + }, + { + "lpbca": 26, + "branch": 23, + "class": 0, + "linearIndex": 5286, + "address": "0xEc6C69e35a47caEB3f244E8A191560189B508b9A", + "cellId": "EI-L26-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B23-C0" + }, + { + "lpbca": 26, + "branch": 23, + "class": 1, + "linearIndex": 5287, + "address": "0x85A9f6e7D30fAA17C7E3c596d89Ccc2414e41932", + "cellId": "EI-L26-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B23-C1" + }, + { + "lpbca": 26, + "branch": 23, + "class": 2, + "linearIndex": 5288, + "address": "0xD0D6ae762b37F5fb073cB9D22fb432baf184Eda2", + "cellId": "EI-L26-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B23-C2" + }, + { + "lpbca": 26, + "branch": 23, + "class": 3, + "linearIndex": 5289, + "address": "0x743872C4795E33284459020fE5Ee94aD575D14Af", + "cellId": "EI-L26-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B23-C3" + }, + { + "lpbca": 26, + "branch": 23, + "class": 4, + "linearIndex": 5290, + "address": "0xc7abc1CD94FcAd47E1E4DE6540a285C837477C37", + "cellId": "EI-L26-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B23-C4" + }, + { + "lpbca": 26, + "branch": 23, + "class": 5, + "linearIndex": 5291, + "address": "0x7649d67eEA8BDD36d4EdF35E7D49E211F26e7E81", + "cellId": "EI-L26-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B23-C5" + }, + { + "lpbca": 26, + "branch": 24, + "class": 0, + "linearIndex": 5292, + "address": "0xB895e985E19198f9Ee9493eCc4Be0a5bEEF68d30", + "cellId": "EI-L26-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B24-C0" + }, + { + "lpbca": 26, + "branch": 24, + "class": 1, + "linearIndex": 5293, + "address": "0x103fCaEb5548D14a8029087015B0670E67440Ed0", + "cellId": "EI-L26-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B24-C1" + }, + { + "lpbca": 26, + "branch": 24, + "class": 2, + "linearIndex": 5294, + "address": "0xCA48646Fd6d6B8f77C7Ea31E0E02a6A8Cd4CCD7A", + "cellId": "EI-L26-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B24-C2" + }, + { + "lpbca": 26, + "branch": 24, + "class": 3, + "linearIndex": 5295, + "address": "0xe3d9693b7eAaacAD180F3F2F2451De5f55466c9e", + "cellId": "EI-L26-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B24-C3" + }, + { + "lpbca": 26, + "branch": 24, + "class": 4, + "linearIndex": 5296, + "address": "0xBd34b590d67f78f3b54d8c5AbD8dDe28560257C2", + "cellId": "EI-L26-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B24-C4" + }, + { + "lpbca": 26, + "branch": 24, + "class": 5, + "linearIndex": 5297, + "address": "0xE820F1c7A489b081B25D43abF003a773920Df8FE", + "cellId": "EI-L26-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B24-C5" + }, + { + "lpbca": 26, + "branch": 25, + "class": 0, + "linearIndex": 5298, + "address": "0x3019DCc1BbEe48ff1CD28A511adA9d3C121f2E44", + "cellId": "EI-L26-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B25-C0" + }, + { + "lpbca": 26, + "branch": 25, + "class": 1, + "linearIndex": 5299, + "address": "0xD9d3230Cc74691983f23B338d0C9e28cf4DeE217", + "cellId": "EI-L26-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B25-C1" + }, + { + "lpbca": 26, + "branch": 25, + "class": 2, + "linearIndex": 5300, + "address": "0xf9fE38e2E029541C5E776f241bFC8AcB94BD45a0", + "cellId": "EI-L26-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B25-C2" + }, + { + "lpbca": 26, + "branch": 25, + "class": 3, + "linearIndex": 5301, + "address": "0xcD1579d9116964CD9837D64CB0464521910b05f3", + "cellId": "EI-L26-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B25-C3" + }, + { + "lpbca": 26, + "branch": 25, + "class": 4, + "linearIndex": 5302, + "address": "0x0dD767ef2fdfeD7177aBD9636B5DfF8d18393b07", + "cellId": "EI-L26-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B25-C4" + }, + { + "lpbca": 26, + "branch": 25, + "class": 5, + "linearIndex": 5303, + "address": "0xD33bCf8119773051fA7A0522D6becD77007449d7", + "cellId": "EI-L26-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B25-C5" + }, + { + "lpbca": 26, + "branch": 26, + "class": 0, + "linearIndex": 5304, + "address": "0xe6FCF9622A8Cffb6Fa1Cd0C733C36972eA606Abc", + "cellId": "EI-L26-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B26-C0" + }, + { + "lpbca": 26, + "branch": 26, + "class": 1, + "linearIndex": 5305, + "address": "0xac2167c9635c188C6Ec0976548c0454f3C850063", + "cellId": "EI-L26-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B26-C1" + }, + { + "lpbca": 26, + "branch": 26, + "class": 2, + "linearIndex": 5306, + "address": "0xb615F5507b5afABf9cB74F4a949F9c0C4C6F1044", + "cellId": "EI-L26-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B26-C2" + }, + { + "lpbca": 26, + "branch": 26, + "class": 3, + "linearIndex": 5307, + "address": "0x39Aa0113ac8ebA93e37171Cf18f0ef75c7aEf0a9", + "cellId": "EI-L26-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B26-C3" + }, + { + "lpbca": 26, + "branch": 26, + "class": 4, + "linearIndex": 5308, + "address": "0xbA43D72b43fD3C9b11e2565352654A51ce2203eB", + "cellId": "EI-L26-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B26-C4" + }, + { + "lpbca": 26, + "branch": 26, + "class": 5, + "linearIndex": 5309, + "address": "0x3325BEaEe54989E81Ae1DCfa361F7fEeCA78C51B", + "cellId": "EI-L26-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B26-C5" + }, + { + "lpbca": 26, + "branch": 27, + "class": 0, + "linearIndex": 5310, + "address": "0x3D63c6fbf54c5Ebf9fa592c677Fa89656fCe6102", + "cellId": "EI-L26-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B27-C0" + }, + { + "lpbca": 26, + "branch": 27, + "class": 1, + "linearIndex": 5311, + "address": "0x880F871CBF89c36f7eB3F7a011552D93ff200B14", + "cellId": "EI-L26-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B27-C1" + }, + { + "lpbca": 26, + "branch": 27, + "class": 2, + "linearIndex": 5312, + "address": "0x3Cefd045801542e85C824FC8308a36935a5027f8", + "cellId": "EI-L26-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B27-C2" + }, + { + "lpbca": 26, + "branch": 27, + "class": 3, + "linearIndex": 5313, + "address": "0x2Fbb9EDBbBcF405Ce2fc0875857429F4D8a1Edf3", + "cellId": "EI-L26-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B27-C3" + }, + { + "lpbca": 26, + "branch": 27, + "class": 4, + "linearIndex": 5314, + "address": "0xacBd3Cf4EE989372f1A9EAB7C30289717d77F45E", + "cellId": "EI-L26-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B27-C4" + }, + { + "lpbca": 26, + "branch": 27, + "class": 5, + "linearIndex": 5315, + "address": "0x45A0E5AeA93c6908B31b45d7CEbf1a6EC419CB15", + "cellId": "EI-L26-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B27-C5" + }, + { + "lpbca": 26, + "branch": 28, + "class": 0, + "linearIndex": 5316, + "address": "0x3D046fC599899B0E965c3010086EF2fAE8E3c02D", + "cellId": "EI-L26-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B28-C0" + }, + { + "lpbca": 26, + "branch": 28, + "class": 1, + "linearIndex": 5317, + "address": "0x054609E4f5cF560968Df627fd4c6Ded408d014C7", + "cellId": "EI-L26-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B28-C1" + }, + { + "lpbca": 26, + "branch": 28, + "class": 2, + "linearIndex": 5318, + "address": "0x6d60a8741F50190A27212B7DF247a45C0A68da33", + "cellId": "EI-L26-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B28-C2" + }, + { + "lpbca": 26, + "branch": 28, + "class": 3, + "linearIndex": 5319, + "address": "0x686218678685c360ad0fF2f79E4e3A636bdCDc84", + "cellId": "EI-L26-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B28-C3" + }, + { + "lpbca": 26, + "branch": 28, + "class": 4, + "linearIndex": 5320, + "address": "0x4030f95Bac92E043B3a2A7939F82a8aeAf8d1599", + "cellId": "EI-L26-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B28-C4" + }, + { + "lpbca": 26, + "branch": 28, + "class": 5, + "linearIndex": 5321, + "address": "0xED851aB468dE77509255D0CAEA4F90D75d3841Bc", + "cellId": "EI-L26-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B28-C5" + }, + { + "lpbca": 26, + "branch": 29, + "class": 0, + "linearIndex": 5322, + "address": "0xD46DFF5073c2843a9DE5618F1Ab0b0AdF96954ed", + "cellId": "EI-L26-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B29-C0" + }, + { + "lpbca": 26, + "branch": 29, + "class": 1, + "linearIndex": 5323, + "address": "0x82Ed0f58D475947D1ff3D360f94E75D9BEDc52Eb", + "cellId": "EI-L26-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B29-C1" + }, + { + "lpbca": 26, + "branch": 29, + "class": 2, + "linearIndex": 5324, + "address": "0x4628784c2fFA7cdAe8E5855281a76fC5241ebf9E", + "cellId": "EI-L26-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B29-C2" + }, + { + "lpbca": 26, + "branch": 29, + "class": 3, + "linearIndex": 5325, + "address": "0x937d43128FD23De1DCf88ce5837C0e1A6c133a9A", + "cellId": "EI-L26-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B29-C3" + }, + { + "lpbca": 26, + "branch": 29, + "class": 4, + "linearIndex": 5326, + "address": "0xd0cE0a612846C0599FC76279634951fB489385D0", + "cellId": "EI-L26-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B29-C4" + }, + { + "lpbca": 26, + "branch": 29, + "class": 5, + "linearIndex": 5327, + "address": "0x72C4743E209C34749CDEbaBd00840bEDa30B0274", + "cellId": "EI-L26-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B29-C5" + }, + { + "lpbca": 26, + "branch": 30, + "class": 0, + "linearIndex": 5328, + "address": "0x4CBb4613b7222D17F064B28468307C60E148f981", + "cellId": "EI-L26-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B30-C0" + }, + { + "lpbca": 26, + "branch": 30, + "class": 1, + "linearIndex": 5329, + "address": "0x87331c9aBa315486A0F93F3864E755330C07587D", + "cellId": "EI-L26-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B30-C1" + }, + { + "lpbca": 26, + "branch": 30, + "class": 2, + "linearIndex": 5330, + "address": "0xAFd9a754eD4c2C1422D70459f79185E3f01281ff", + "cellId": "EI-L26-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B30-C2" + }, + { + "lpbca": 26, + "branch": 30, + "class": 3, + "linearIndex": 5331, + "address": "0x4E558967552180d86fd5D1afaB87184D709066C3", + "cellId": "EI-L26-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B30-C3" + }, + { + "lpbca": 26, + "branch": 30, + "class": 4, + "linearIndex": 5332, + "address": "0xbFFFE0f03E0F1e1E650b6e5aD197B696b0F72dC0", + "cellId": "EI-L26-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B30-C4" + }, + { + "lpbca": 26, + "branch": 30, + "class": 5, + "linearIndex": 5333, + "address": "0x32B6F9BD5976b41071975311734b89677D06d0E5", + "cellId": "EI-L26-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B30-C5" + }, + { + "lpbca": 26, + "branch": 31, + "class": 0, + "linearIndex": 5334, + "address": "0x6F4091676C04669C863879daDC93756Bc3e7aBD9", + "cellId": "EI-L26-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B31-C0" + }, + { + "lpbca": 26, + "branch": 31, + "class": 1, + "linearIndex": 5335, + "address": "0xFc73f98986Ca88444995C998D8a87A28bE5DB4F4", + "cellId": "EI-L26-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B31-C1" + }, + { + "lpbca": 26, + "branch": 31, + "class": 2, + "linearIndex": 5336, + "address": "0x1874fCa9FDDc543364d15bb1D86C5a62fA4bA69e", + "cellId": "EI-L26-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B31-C2" + }, + { + "lpbca": 26, + "branch": 31, + "class": 3, + "linearIndex": 5337, + "address": "0x78B09e49d7f0E0dB7E71d368bdC05d2f5a3d1CDb", + "cellId": "EI-L26-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B31-C3" + }, + { + "lpbca": 26, + "branch": 31, + "class": 4, + "linearIndex": 5338, + "address": "0x1E9fB86Ae8E6De9C9A4CB2e23a7CBbf4d18A1f61", + "cellId": "EI-L26-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B31-C4" + }, + { + "lpbca": 26, + "branch": 31, + "class": 5, + "linearIndex": 5339, + "address": "0x745690c4f69275cb49f57BB49C2047b6aC489912", + "cellId": "EI-L26-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B31-C5" + }, + { + "lpbca": 26, + "branch": 32, + "class": 0, + "linearIndex": 5340, + "address": "0xc59C8d706697a12d51d5E7Df414A61cfD254E70A", + "cellId": "EI-L26-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B32-C0" + }, + { + "lpbca": 26, + "branch": 32, + "class": 1, + "linearIndex": 5341, + "address": "0x468885dF7268DAF87eA02E7EC88b21d5fD30004C", + "cellId": "EI-L26-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B32-C1" + }, + { + "lpbca": 26, + "branch": 32, + "class": 2, + "linearIndex": 5342, + "address": "0xe6295F3690484BE7dC2AE1204251f931461B0e9C", + "cellId": "EI-L26-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B32-C2" + }, + { + "lpbca": 26, + "branch": 32, + "class": 3, + "linearIndex": 5343, + "address": "0x38d2648395af1ea92CF89971f7DEA819C870E86E", + "cellId": "EI-L26-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B32-C3" + }, + { + "lpbca": 26, + "branch": 32, + "class": 4, + "linearIndex": 5344, + "address": "0x2a4c4e6Ce0281C937865166d8A0C2d2F17466706", + "cellId": "EI-L26-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B32-C4" + }, + { + "lpbca": 26, + "branch": 32, + "class": 5, + "linearIndex": 5345, + "address": "0x0a4a3b034E648dc90FCcC2Dd0906Ab3CAA9991a1", + "cellId": "EI-L26-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L26-B32-C5" + }, + { + "lpbca": 27, + "branch": 0, + "class": 0, + "linearIndex": 5346, + "address": "0x3fFAB6058B27AC14b3283cbe5701c1F5092424E5", + "cellId": "EI-L27-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B00-C0" + }, + { + "lpbca": 27, + "branch": 0, + "class": 1, + "linearIndex": 5347, + "address": "0x07d50afB5954640C6CD517589294daD6a747E38D", + "cellId": "EI-L27-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B00-C1" + }, + { + "lpbca": 27, + "branch": 0, + "class": 2, + "linearIndex": 5348, + "address": "0xccF95e1A9c981ECbE84ecE38AD6232FC7F870ed2", + "cellId": "EI-L27-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B00-C2" + }, + { + "lpbca": 27, + "branch": 0, + "class": 3, + "linearIndex": 5349, + "address": "0xd2dcCdD2FD520BC20b851995b81842afeB659Fbf", + "cellId": "EI-L27-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B00-C3" + }, + { + "lpbca": 27, + "branch": 0, + "class": 4, + "linearIndex": 5350, + "address": "0xbD858159B29308D5D865b9aAe5b2084D6C37a5f4", + "cellId": "EI-L27-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B00-C4" + }, + { + "lpbca": 27, + "branch": 0, + "class": 5, + "linearIndex": 5351, + "address": "0xB37b38Fe5AD69CA1AEa1a169fFFEc3C88EBC7cfb", + "cellId": "EI-L27-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B00-C5" + }, + { + "lpbca": 27, + "branch": 1, + "class": 0, + "linearIndex": 5352, + "address": "0x89000A0f58B2c8581A45090b5a299f9bB7994202", + "cellId": "EI-L27-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B01-C0" + }, + { + "lpbca": 27, + "branch": 1, + "class": 1, + "linearIndex": 5353, + "address": "0x7d4e89161036B704A77D5f67E74831f88cd79CA6", + "cellId": "EI-L27-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B01-C1" + }, + { + "lpbca": 27, + "branch": 1, + "class": 2, + "linearIndex": 5354, + "address": "0x99167d0d44C36d171813C71c40A67602965f6F4E", + "cellId": "EI-L27-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B01-C2" + }, + { + "lpbca": 27, + "branch": 1, + "class": 3, + "linearIndex": 5355, + "address": "0x89a8484cBc514cc9e2a063287CeF21F45a9f9742", + "cellId": "EI-L27-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B01-C3" + }, + { + "lpbca": 27, + "branch": 1, + "class": 4, + "linearIndex": 5356, + "address": "0x5e707Acb26A0d578bD952a81072AfA4430Ca672E", + "cellId": "EI-L27-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B01-C4" + }, + { + "lpbca": 27, + "branch": 1, + "class": 5, + "linearIndex": 5357, + "address": "0xD327Ae4b397bCBb32CfeD7c0BbAA3a15fC12aAdE", + "cellId": "EI-L27-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B01-C5" + }, + { + "lpbca": 27, + "branch": 2, + "class": 0, + "linearIndex": 5358, + "address": "0xa3bE8AB70F2129EdaB6B9e21b31f10D434d5eC35", + "cellId": "EI-L27-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B02-C0" + }, + { + "lpbca": 27, + "branch": 2, + "class": 1, + "linearIndex": 5359, + "address": "0xB96E80614b131CF7d6A7AAD54861C1Db5095bc74", + "cellId": "EI-L27-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B02-C1" + }, + { + "lpbca": 27, + "branch": 2, + "class": 2, + "linearIndex": 5360, + "address": "0x4Ce054b32b4726Af3F304b0771E705823cdA619B", + "cellId": "EI-L27-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B02-C2" + }, + { + "lpbca": 27, + "branch": 2, + "class": 3, + "linearIndex": 5361, + "address": "0xe1804D9663bAe60edcFeec5379D995fC4a915e12", + "cellId": "EI-L27-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B02-C3" + }, + { + "lpbca": 27, + "branch": 2, + "class": 4, + "linearIndex": 5362, + "address": "0xedfD3870C35DdE37171A0Cbb8Fa4B97fbF892139", + "cellId": "EI-L27-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B02-C4" + }, + { + "lpbca": 27, + "branch": 2, + "class": 5, + "linearIndex": 5363, + "address": "0x8c7728f60d035D12b6b5FE6F9Ae07F1377F289c9", + "cellId": "EI-L27-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B02-C5" + }, + { + "lpbca": 27, + "branch": 3, + "class": 0, + "linearIndex": 5364, + "address": "0xBFe9BdeE1199BDA29E9fBeA92E6b0b03E30c3B0c", + "cellId": "EI-L27-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B03-C0" + }, + { + "lpbca": 27, + "branch": 3, + "class": 1, + "linearIndex": 5365, + "address": "0x2D69e5790E2F9cEBe5a3456c66767bf964B4326e", + "cellId": "EI-L27-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B03-C1" + }, + { + "lpbca": 27, + "branch": 3, + "class": 2, + "linearIndex": 5366, + "address": "0xB9BC93db065fcC24089E8D296938713d760A21E6", + "cellId": "EI-L27-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B03-C2" + }, + { + "lpbca": 27, + "branch": 3, + "class": 3, + "linearIndex": 5367, + "address": "0xAD8b562B5FBCF36400c61E7738f73608Dde1A856", + "cellId": "EI-L27-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B03-C3" + }, + { + "lpbca": 27, + "branch": 3, + "class": 4, + "linearIndex": 5368, + "address": "0x33c5D6BD6653Cb6597558A4bb9C02dE0b32a9AB0", + "cellId": "EI-L27-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B03-C4" + }, + { + "lpbca": 27, + "branch": 3, + "class": 5, + "linearIndex": 5369, + "address": "0x9d660355914a057906dc4fc181A5449ffCCad3F4", + "cellId": "EI-L27-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B03-C5" + }, + { + "lpbca": 27, + "branch": 4, + "class": 0, + "linearIndex": 5370, + "address": "0xc8BeCe4b32d2Db2e62Da325fAe8BA6c6dAAb702C", + "cellId": "EI-L27-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B04-C0" + }, + { + "lpbca": 27, + "branch": 4, + "class": 1, + "linearIndex": 5371, + "address": "0xC6DeC586d8d000AA5a90b0BB8b419C627Df9794d", + "cellId": "EI-L27-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B04-C1" + }, + { + "lpbca": 27, + "branch": 4, + "class": 2, + "linearIndex": 5372, + "address": "0x25f013451c0aEBBad741Ca80968568AE739Ef658", + "cellId": "EI-L27-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B04-C2" + }, + { + "lpbca": 27, + "branch": 4, + "class": 3, + "linearIndex": 5373, + "address": "0xc3e2cB7A4E1d0Cc85e7E44b67749dAD591Fd3407", + "cellId": "EI-L27-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B04-C3" + }, + { + "lpbca": 27, + "branch": 4, + "class": 4, + "linearIndex": 5374, + "address": "0x78baad199408F198065b4Fa543cf53D889C743B0", + "cellId": "EI-L27-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B04-C4" + }, + { + "lpbca": 27, + "branch": 4, + "class": 5, + "linearIndex": 5375, + "address": "0x2B7F4a51523F189a5De93fF98409E82A799A9824", + "cellId": "EI-L27-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B04-C5" + }, + { + "lpbca": 27, + "branch": 5, + "class": 0, + "linearIndex": 5376, + "address": "0x00c4cfefA74E9EffFAc475F5e0be198f4AcB5f66", + "cellId": "EI-L27-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B05-C0" + }, + { + "lpbca": 27, + "branch": 5, + "class": 1, + "linearIndex": 5377, + "address": "0x6fA4180635bCD0673b831BAC7E6eDEE6A0F20Cc1", + "cellId": "EI-L27-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B05-C1" + }, + { + "lpbca": 27, + "branch": 5, + "class": 2, + "linearIndex": 5378, + "address": "0x48Ed239AC726f9f5E8930bDb0f1Cfd64DF5196bF", + "cellId": "EI-L27-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B05-C2" + }, + { + "lpbca": 27, + "branch": 5, + "class": 3, + "linearIndex": 5379, + "address": "0x04Bdf14783f69DBB82eC3E3BDbeC31a05C0B4Cef", + "cellId": "EI-L27-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B05-C3" + }, + { + "lpbca": 27, + "branch": 5, + "class": 4, + "linearIndex": 5380, + "address": "0x247378530CBA2Bf9f450d44792060277e3Ab9F36", + "cellId": "EI-L27-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B05-C4" + }, + { + "lpbca": 27, + "branch": 5, + "class": 5, + "linearIndex": 5381, + "address": "0xD71B5302cA6fE620B04efc2B238bd87401B89C25", + "cellId": "EI-L27-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B05-C5" + }, + { + "lpbca": 27, + "branch": 6, + "class": 0, + "linearIndex": 5382, + "address": "0xf55eaF8d23B327b8184aFd23e7E107C1B7E337e8", + "cellId": "EI-L27-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B06-C0" + }, + { + "lpbca": 27, + "branch": 6, + "class": 1, + "linearIndex": 5383, + "address": "0x2ECE2e378F396242a7187436763F6B6fc920cC5D", + "cellId": "EI-L27-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B06-C1" + }, + { + "lpbca": 27, + "branch": 6, + "class": 2, + "linearIndex": 5384, + "address": "0x743e989daacabEfE9d18E6FccD63Cb525Bce60Ff", + "cellId": "EI-L27-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B06-C2" + }, + { + "lpbca": 27, + "branch": 6, + "class": 3, + "linearIndex": 5385, + "address": "0x37C6b31Aa729CF2d01606AD957017819C04f039b", + "cellId": "EI-L27-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B06-C3" + }, + { + "lpbca": 27, + "branch": 6, + "class": 4, + "linearIndex": 5386, + "address": "0x75B616aD2A37d5a25849b74b92f3e014Fd221243", + "cellId": "EI-L27-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B06-C4" + }, + { + "lpbca": 27, + "branch": 6, + "class": 5, + "linearIndex": 5387, + "address": "0x8c4BcdEb4C3CB8a41040F60de3FBC0950b856dAC", + "cellId": "EI-L27-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B06-C5" + }, + { + "lpbca": 27, + "branch": 7, + "class": 0, + "linearIndex": 5388, + "address": "0x959F605DdCf78d6dC01B88c84570D218718d6955", + "cellId": "EI-L27-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B07-C0" + }, + { + "lpbca": 27, + "branch": 7, + "class": 1, + "linearIndex": 5389, + "address": "0xBD4d9a77bA9290Bb1dCa65F13C9c62D0346ACf26", + "cellId": "EI-L27-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B07-C1" + }, + { + "lpbca": 27, + "branch": 7, + "class": 2, + "linearIndex": 5390, + "address": "0x6355401b15F8fFE156097e66896F9028bd0bf16e", + "cellId": "EI-L27-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B07-C2" + }, + { + "lpbca": 27, + "branch": 7, + "class": 3, + "linearIndex": 5391, + "address": "0xC0B3f201b8338c7175459613723ec112ae4645D5", + "cellId": "EI-L27-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B07-C3" + }, + { + "lpbca": 27, + "branch": 7, + "class": 4, + "linearIndex": 5392, + "address": "0xBE1Bc4b88A8E492D49d923B1fa1ad776f2eeaF93", + "cellId": "EI-L27-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B07-C4" + }, + { + "lpbca": 27, + "branch": 7, + "class": 5, + "linearIndex": 5393, + "address": "0xd38b5aEb8798e6718E948dA0EDAa6f6d16e43DAD", + "cellId": "EI-L27-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B07-C5" + }, + { + "lpbca": 27, + "branch": 8, + "class": 0, + "linearIndex": 5394, + "address": "0x988c4E2408aFEFdB7712D48E0ECF1414436B4B71", + "cellId": "EI-L27-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B08-C0" + }, + { + "lpbca": 27, + "branch": 8, + "class": 1, + "linearIndex": 5395, + "address": "0x1de8e2a5007fd7D19164f589CB749e45885baC18", + "cellId": "EI-L27-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B08-C1" + }, + { + "lpbca": 27, + "branch": 8, + "class": 2, + "linearIndex": 5396, + "address": "0x6978c653A371bDa4F270653993a5bf8A3a42c22b", + "cellId": "EI-L27-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B08-C2" + }, + { + "lpbca": 27, + "branch": 8, + "class": 3, + "linearIndex": 5397, + "address": "0x3940849965f092E4FFc4b29e02BbB5477491b458", + "cellId": "EI-L27-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B08-C3" + }, + { + "lpbca": 27, + "branch": 8, + "class": 4, + "linearIndex": 5398, + "address": "0x5ea0220D6e4FbeFf6c884C0599536bcc3d3244A0", + "cellId": "EI-L27-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B08-C4" + }, + { + "lpbca": 27, + "branch": 8, + "class": 5, + "linearIndex": 5399, + "address": "0xa4Bac8b4309FA31c2aD605cb15626aa44B84E25e", + "cellId": "EI-L27-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B08-C5" + }, + { + "lpbca": 27, + "branch": 9, + "class": 0, + "linearIndex": 5400, + "address": "0x2CE092791bc349B56CdFD55920c9Dc2EFA8c7a4F", + "cellId": "EI-L27-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B09-C0" + }, + { + "lpbca": 27, + "branch": 9, + "class": 1, + "linearIndex": 5401, + "address": "0x804C6D18C09a89A21A5619c364b48a7F61Ef615b", + "cellId": "EI-L27-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B09-C1" + }, + { + "lpbca": 27, + "branch": 9, + "class": 2, + "linearIndex": 5402, + "address": "0x8fd9226c23833E3a8e06908e73C7b0EaB3cd2b13", + "cellId": "EI-L27-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B09-C2" + }, + { + "lpbca": 27, + "branch": 9, + "class": 3, + "linearIndex": 5403, + "address": "0xba3755e209824a0258a42f6640D06a877ed4cC09", + "cellId": "EI-L27-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B09-C3" + }, + { + "lpbca": 27, + "branch": 9, + "class": 4, + "linearIndex": 5404, + "address": "0x34B55305cCd0A8D2a074403072D78C51Ccdbe46b", + "cellId": "EI-L27-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B09-C4" + }, + { + "lpbca": 27, + "branch": 9, + "class": 5, + "linearIndex": 5405, + "address": "0x4F301dD73a265314D97dB45865dE6C0d950c21Bb", + "cellId": "EI-L27-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B09-C5" + }, + { + "lpbca": 27, + "branch": 10, + "class": 0, + "linearIndex": 5406, + "address": "0x301109cf08b6252DdA5fA83511C4bfa5Ecf4C484", + "cellId": "EI-L27-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B10-C0" + }, + { + "lpbca": 27, + "branch": 10, + "class": 1, + "linearIndex": 5407, + "address": "0xc1EaC337Fa83A4b484dfc433Abe7f580df0553FD", + "cellId": "EI-L27-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B10-C1" + }, + { + "lpbca": 27, + "branch": 10, + "class": 2, + "linearIndex": 5408, + "address": "0x4a76DcF79E06e43fCD76b745651C10438EbEfD97", + "cellId": "EI-L27-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B10-C2" + }, + { + "lpbca": 27, + "branch": 10, + "class": 3, + "linearIndex": 5409, + "address": "0x1aFaB2A1e84794B660088adACc9529Df7643d592", + "cellId": "EI-L27-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B10-C3" + }, + { + "lpbca": 27, + "branch": 10, + "class": 4, + "linearIndex": 5410, + "address": "0xad4C8634dF2066C23129501fA2DD030d4f5a9c57", + "cellId": "EI-L27-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B10-C4" + }, + { + "lpbca": 27, + "branch": 10, + "class": 5, + "linearIndex": 5411, + "address": "0x9655e24c69CbC5A870685eFE53801e262cef14c8", + "cellId": "EI-L27-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B10-C5" + }, + { + "lpbca": 27, + "branch": 11, + "class": 0, + "linearIndex": 5412, + "address": "0x9229978E20B50E5609CCcc435632c9962eD488E1", + "cellId": "EI-L27-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B11-C0" + }, + { + "lpbca": 27, + "branch": 11, + "class": 1, + "linearIndex": 5413, + "address": "0xd105a0EE939c5cBf338926C31843e07234a80F83", + "cellId": "EI-L27-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B11-C1" + }, + { + "lpbca": 27, + "branch": 11, + "class": 2, + "linearIndex": 5414, + "address": "0x5d04Aab897175a7909e02c2380259A21cd4a9ff3", + "cellId": "EI-L27-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B11-C2" + }, + { + "lpbca": 27, + "branch": 11, + "class": 3, + "linearIndex": 5415, + "address": "0x0281659178aDdb9AeF9597ea33253012A63a30f1", + "cellId": "EI-L27-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B11-C3" + }, + { + "lpbca": 27, + "branch": 11, + "class": 4, + "linearIndex": 5416, + "address": "0xbEeC5c11010508d83e79E2E648456DdC64c53a58", + "cellId": "EI-L27-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B11-C4" + }, + { + "lpbca": 27, + "branch": 11, + "class": 5, + "linearIndex": 5417, + "address": "0x99D93233207fD0DA941315574446d10E2B12F88E", + "cellId": "EI-L27-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B11-C5" + }, + { + "lpbca": 27, + "branch": 12, + "class": 0, + "linearIndex": 5418, + "address": "0x775Fc36AE1E1a0F39607B3eDC5Bb9CF7ac85Ef18", + "cellId": "EI-L27-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B12-C0" + }, + { + "lpbca": 27, + "branch": 12, + "class": 1, + "linearIndex": 5419, + "address": "0x7492145cF5d3B8438E740f0c14Bf1124334ed4B9", + "cellId": "EI-L27-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B12-C1" + }, + { + "lpbca": 27, + "branch": 12, + "class": 2, + "linearIndex": 5420, + "address": "0x93A4064c000d627ACa4cC40af65425BFcA2aADB0", + "cellId": "EI-L27-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B12-C2" + }, + { + "lpbca": 27, + "branch": 12, + "class": 3, + "linearIndex": 5421, + "address": "0x495B642D0606B7c050FD80Ae319543d63889c211", + "cellId": "EI-L27-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B12-C3" + }, + { + "lpbca": 27, + "branch": 12, + "class": 4, + "linearIndex": 5422, + "address": "0xAF5061E176c58e0434f6a2881e3C5fd8419daE7d", + "cellId": "EI-L27-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B12-C4" + }, + { + "lpbca": 27, + "branch": 12, + "class": 5, + "linearIndex": 5423, + "address": "0x98449F813D492BF524483d2AA336ab39FaA141B1", + "cellId": "EI-L27-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B12-C5" + }, + { + "lpbca": 27, + "branch": 13, + "class": 0, + "linearIndex": 5424, + "address": "0xefFb991aE30084A08F975d21E011786B8D362603", + "cellId": "EI-L27-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B13-C0" + }, + { + "lpbca": 27, + "branch": 13, + "class": 1, + "linearIndex": 5425, + "address": "0xA00A4A95AB61F7Dec9D82eAF54a70Be1E4CC4AdC", + "cellId": "EI-L27-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B13-C1" + }, + { + "lpbca": 27, + "branch": 13, + "class": 2, + "linearIndex": 5426, + "address": "0xe5726453B4CD0733FA597065692fa52DdcA483ad", + "cellId": "EI-L27-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B13-C2" + }, + { + "lpbca": 27, + "branch": 13, + "class": 3, + "linearIndex": 5427, + "address": "0xEE789c4d58F284e0B8411Cd422bEC13307CAdD5F", + "cellId": "EI-L27-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B13-C3" + }, + { + "lpbca": 27, + "branch": 13, + "class": 4, + "linearIndex": 5428, + "address": "0x184517F6b42Cb7C5caCe44a7C0001443E2D586da", + "cellId": "EI-L27-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B13-C4" + }, + { + "lpbca": 27, + "branch": 13, + "class": 5, + "linearIndex": 5429, + "address": "0xE232fC84D93100bF43e76114d6aCa5f15eC4Cdef", + "cellId": "EI-L27-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B13-C5" + }, + { + "lpbca": 27, + "branch": 14, + "class": 0, + "linearIndex": 5430, + "address": "0x10E5BAC616C019aF8F1117896c3A5D3FCD18ADb5", + "cellId": "EI-L27-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B14-C0" + }, + { + "lpbca": 27, + "branch": 14, + "class": 1, + "linearIndex": 5431, + "address": "0x47a8772Fd36f96D31DAFc8b1dF4d86e6da253341", + "cellId": "EI-L27-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B14-C1" + }, + { + "lpbca": 27, + "branch": 14, + "class": 2, + "linearIndex": 5432, + "address": "0x1e1B6CAf21B09E6e90267379757e268D60Da4587", + "cellId": "EI-L27-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B14-C2" + }, + { + "lpbca": 27, + "branch": 14, + "class": 3, + "linearIndex": 5433, + "address": "0xECB9a7E9aDa28f9B4e5A6d1190afD13A7908E639", + "cellId": "EI-L27-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B14-C3" + }, + { + "lpbca": 27, + "branch": 14, + "class": 4, + "linearIndex": 5434, + "address": "0x3CfA1786c73392572abb58a4aa6A26222d32bE76", + "cellId": "EI-L27-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B14-C4" + }, + { + "lpbca": 27, + "branch": 14, + "class": 5, + "linearIndex": 5435, + "address": "0xb45066253b5536Ce917Ad7CbD46EaceCDEAFd294", + "cellId": "EI-L27-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B14-C5" + }, + { + "lpbca": 27, + "branch": 15, + "class": 0, + "linearIndex": 5436, + "address": "0xae02174Adb15ab030332F629f88566Bf537fBe5f", + "cellId": "EI-L27-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B15-C0" + }, + { + "lpbca": 27, + "branch": 15, + "class": 1, + "linearIndex": 5437, + "address": "0x9CA83e1a2cc576BCfC117E58881190a19511d495", + "cellId": "EI-L27-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B15-C1" + }, + { + "lpbca": 27, + "branch": 15, + "class": 2, + "linearIndex": 5438, + "address": "0x3a977BbD19F5c1E96956022d5a709Aa510168A6B", + "cellId": "EI-L27-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B15-C2" + }, + { + "lpbca": 27, + "branch": 15, + "class": 3, + "linearIndex": 5439, + "address": "0x166F693c480EfF5D45d5fCD5b9e7bFe972326945", + "cellId": "EI-L27-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B15-C3" + }, + { + "lpbca": 27, + "branch": 15, + "class": 4, + "linearIndex": 5440, + "address": "0x8B6e51F4d6434BE53F702fAFf8597727f0A44d7A", + "cellId": "EI-L27-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B15-C4" + }, + { + "lpbca": 27, + "branch": 15, + "class": 5, + "linearIndex": 5441, + "address": "0x5Ea77F8E4405CC28A6e814F4347c3397B9214dE8", + "cellId": "EI-L27-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B15-C5" + }, + { + "lpbca": 27, + "branch": 16, + "class": 0, + "linearIndex": 5442, + "address": "0x8a9Db4cb5042c17036776A7d83324a88d7dA432F", + "cellId": "EI-L27-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B16-C0" + }, + { + "lpbca": 27, + "branch": 16, + "class": 1, + "linearIndex": 5443, + "address": "0x1De68899ba26D8fAaAE4434B1b72afE6AE0b5dE9", + "cellId": "EI-L27-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B16-C1" + }, + { + "lpbca": 27, + "branch": 16, + "class": 2, + "linearIndex": 5444, + "address": "0x42A9585e2FCCEFd14Db9ABab59491d62B81A63B6", + "cellId": "EI-L27-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B16-C2" + }, + { + "lpbca": 27, + "branch": 16, + "class": 3, + "linearIndex": 5445, + "address": "0x5c9e7CEe2Be48A42BDbe498A356C683CB5eE8e8d", + "cellId": "EI-L27-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B16-C3" + }, + { + "lpbca": 27, + "branch": 16, + "class": 4, + "linearIndex": 5446, + "address": "0x39b14E4d6ebfE249FC910324EC7239f913Da2309", + "cellId": "EI-L27-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B16-C4" + }, + { + "lpbca": 27, + "branch": 16, + "class": 5, + "linearIndex": 5447, + "address": "0x4cEDC000514E73057DB55A8F348D83eB632053ec", + "cellId": "EI-L27-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B16-C5" + }, + { + "lpbca": 27, + "branch": 17, + "class": 0, + "linearIndex": 5448, + "address": "0xD8b51e19F4A55dE3903B484C0A9cF05a6D4bcD1b", + "cellId": "EI-L27-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B17-C0" + }, + { + "lpbca": 27, + "branch": 17, + "class": 1, + "linearIndex": 5449, + "address": "0x9abAA8A0fD9966CF2406EB37525F7167d5EebC48", + "cellId": "EI-L27-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B17-C1" + }, + { + "lpbca": 27, + "branch": 17, + "class": 2, + "linearIndex": 5450, + "address": "0xA16D335e37D28CE4222f05902040047647D5Ca16", + "cellId": "EI-L27-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B17-C2" + }, + { + "lpbca": 27, + "branch": 17, + "class": 3, + "linearIndex": 5451, + "address": "0xf639fc5FF5773EE74E508f64598ecdF2f86749ED", + "cellId": "EI-L27-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B17-C3" + }, + { + "lpbca": 27, + "branch": 17, + "class": 4, + "linearIndex": 5452, + "address": "0x7FC8c41e898AEA9536D52B4c072063fB9547740F", + "cellId": "EI-L27-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B17-C4" + }, + { + "lpbca": 27, + "branch": 17, + "class": 5, + "linearIndex": 5453, + "address": "0x59Bf8897818B4b02e54f0888F23551e3Dcfc78B0", + "cellId": "EI-L27-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B17-C5" + }, + { + "lpbca": 27, + "branch": 18, + "class": 0, + "linearIndex": 5454, + "address": "0x6dC3879C41F4eD58589521E5CAF18A708dd2FAC0", + "cellId": "EI-L27-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B18-C0" + }, + { + "lpbca": 27, + "branch": 18, + "class": 1, + "linearIndex": 5455, + "address": "0xbcC4AC4E7e51978760f815412735713CcBBf61AE", + "cellId": "EI-L27-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B18-C1" + }, + { + "lpbca": 27, + "branch": 18, + "class": 2, + "linearIndex": 5456, + "address": "0x554C0D40b0B407Dd93Ec8B20A5652e8314433dBF", + "cellId": "EI-L27-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B18-C2" + }, + { + "lpbca": 27, + "branch": 18, + "class": 3, + "linearIndex": 5457, + "address": "0x951859B283e27da64Ae16D8f2cF7C2364F9da73E", + "cellId": "EI-L27-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B18-C3" + }, + { + "lpbca": 27, + "branch": 18, + "class": 4, + "linearIndex": 5458, + "address": "0x7559A53b515c707e6293ce38A21662a3BE37f121", + "cellId": "EI-L27-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B18-C4" + }, + { + "lpbca": 27, + "branch": 18, + "class": 5, + "linearIndex": 5459, + "address": "0xf6304747E1AEB429Dd88b813Cd0db07feB505aAD", + "cellId": "EI-L27-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B18-C5" + }, + { + "lpbca": 27, + "branch": 19, + "class": 0, + "linearIndex": 5460, + "address": "0xe2D49318147F333EE66E640aFCc29c335E070A06", + "cellId": "EI-L27-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B19-C0" + }, + { + "lpbca": 27, + "branch": 19, + "class": 1, + "linearIndex": 5461, + "address": "0x476da6dB7d6801E7D51C3Ce685c6Aa16C90966a0", + "cellId": "EI-L27-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B19-C1" + }, + { + "lpbca": 27, + "branch": 19, + "class": 2, + "linearIndex": 5462, + "address": "0x124877C8F4D15daEd04DdE30438330Be95aC5081", + "cellId": "EI-L27-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B19-C2" + }, + { + "lpbca": 27, + "branch": 19, + "class": 3, + "linearIndex": 5463, + "address": "0x4DDF2B74AbF13632060ea1bE53a382028112B66a", + "cellId": "EI-L27-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B19-C3" + }, + { + "lpbca": 27, + "branch": 19, + "class": 4, + "linearIndex": 5464, + "address": "0x9774157E55889cf36b16CE17aE3d822F59B63591", + "cellId": "EI-L27-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B19-C4" + }, + { + "lpbca": 27, + "branch": 19, + "class": 5, + "linearIndex": 5465, + "address": "0x807076bC7d7012d6f762038bE27a30cbAEe4B588", + "cellId": "EI-L27-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B19-C5" + }, + { + "lpbca": 27, + "branch": 20, + "class": 0, + "linearIndex": 5466, + "address": "0xF106846DFabA6296A15bD7E7CEDB61e7f749a7D3", + "cellId": "EI-L27-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B20-C0" + }, + { + "lpbca": 27, + "branch": 20, + "class": 1, + "linearIndex": 5467, + "address": "0xe0dbF7D21F50F08343C7c912977f15dB8485fe99", + "cellId": "EI-L27-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B20-C1" + }, + { + "lpbca": 27, + "branch": 20, + "class": 2, + "linearIndex": 5468, + "address": "0x6Ec75f84b9ba3983bd5780195C25fcdBD0faB49A", + "cellId": "EI-L27-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B20-C2" + }, + { + "lpbca": 27, + "branch": 20, + "class": 3, + "linearIndex": 5469, + "address": "0x964f2EC353f3B6b0966C783dcE58FF9AaA1f5C52", + "cellId": "EI-L27-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B20-C3" + }, + { + "lpbca": 27, + "branch": 20, + "class": 4, + "linearIndex": 5470, + "address": "0xEeD229D4c53c7220f50d5d7C76D327EE6b7c518c", + "cellId": "EI-L27-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B20-C4" + }, + { + "lpbca": 27, + "branch": 20, + "class": 5, + "linearIndex": 5471, + "address": "0x01dAFD3bBe6A9f5CDb10f1dA1e78C110aCb94441", + "cellId": "EI-L27-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B20-C5" + }, + { + "lpbca": 27, + "branch": 21, + "class": 0, + "linearIndex": 5472, + "address": "0x9310792806beb81cCde97aE90936BDef4A6471E3", + "cellId": "EI-L27-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B21-C0" + }, + { + "lpbca": 27, + "branch": 21, + "class": 1, + "linearIndex": 5473, + "address": "0xA9d0A5784df939d75Dd3785748123D77DC2b3238", + "cellId": "EI-L27-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B21-C1" + }, + { + "lpbca": 27, + "branch": 21, + "class": 2, + "linearIndex": 5474, + "address": "0xFF6f21c0D30Cd22D715DB537d7c557B74Be7765c", + "cellId": "EI-L27-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B21-C2" + }, + { + "lpbca": 27, + "branch": 21, + "class": 3, + "linearIndex": 5475, + "address": "0x3431599EA591c660423a776121ed0f7bcA38F755", + "cellId": "EI-L27-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B21-C3" + }, + { + "lpbca": 27, + "branch": 21, + "class": 4, + "linearIndex": 5476, + "address": "0x0Be214439dE2Da9f583B9d6D7b5aFd9C10a48507", + "cellId": "EI-L27-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B21-C4" + }, + { + "lpbca": 27, + "branch": 21, + "class": 5, + "linearIndex": 5477, + "address": "0xF6557a84c9EDEa002D25273e66695bF936f0014f", + "cellId": "EI-L27-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B21-C5" + }, + { + "lpbca": 27, + "branch": 22, + "class": 0, + "linearIndex": 5478, + "address": "0xB81862Ee858c95bAEe796509D1f71d0814e097d5", + "cellId": "EI-L27-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B22-C0" + }, + { + "lpbca": 27, + "branch": 22, + "class": 1, + "linearIndex": 5479, + "address": "0x0b362667ac3c2334B303ecFa7027d9535B0b029C", + "cellId": "EI-L27-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B22-C1" + }, + { + "lpbca": 27, + "branch": 22, + "class": 2, + "linearIndex": 5480, + "address": "0x5aF1a13F972DeCf93202816e331E2080013120ad", + "cellId": "EI-L27-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B22-C2" + }, + { + "lpbca": 27, + "branch": 22, + "class": 3, + "linearIndex": 5481, + "address": "0x6B1Da0ccfE35a0A86F9F5c742a2A104DcFe4d215", + "cellId": "EI-L27-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B22-C3" + }, + { + "lpbca": 27, + "branch": 22, + "class": 4, + "linearIndex": 5482, + "address": "0x84E10F5195ba08340aB9532F84f7C6cc7d4033c1", + "cellId": "EI-L27-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B22-C4" + }, + { + "lpbca": 27, + "branch": 22, + "class": 5, + "linearIndex": 5483, + "address": "0x681c17F6acD2026C1e91CdC6189d308754947b41", + "cellId": "EI-L27-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B22-C5" + }, + { + "lpbca": 27, + "branch": 23, + "class": 0, + "linearIndex": 5484, + "address": "0x983A9cbef01eF76Db9F70C49CE13eAb7b4Bf6eaB", + "cellId": "EI-L27-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B23-C0" + }, + { + "lpbca": 27, + "branch": 23, + "class": 1, + "linearIndex": 5485, + "address": "0x7Ec105d4C12570EFf08dd787f602DF4b38c29F1f", + "cellId": "EI-L27-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B23-C1" + }, + { + "lpbca": 27, + "branch": 23, + "class": 2, + "linearIndex": 5486, + "address": "0x15804f64F53B9D74b65fD6dD53ebE0E71a065aa5", + "cellId": "EI-L27-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B23-C2" + }, + { + "lpbca": 27, + "branch": 23, + "class": 3, + "linearIndex": 5487, + "address": "0x8172f864E909055b6cBf345b6D25198Cf1A46DAe", + "cellId": "EI-L27-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B23-C3" + }, + { + "lpbca": 27, + "branch": 23, + "class": 4, + "linearIndex": 5488, + "address": "0x44783E76f2C470b5bA35C2366Ed028625fEE88a0", + "cellId": "EI-L27-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B23-C4" + }, + { + "lpbca": 27, + "branch": 23, + "class": 5, + "linearIndex": 5489, + "address": "0x25CEC95cF3668d4a7CD3F5E66f0B02CE08574F9C", + "cellId": "EI-L27-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B23-C5" + }, + { + "lpbca": 27, + "branch": 24, + "class": 0, + "linearIndex": 5490, + "address": "0x0DB654E7bD6589854902eec6EFF33D60a61aE03E", + "cellId": "EI-L27-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B24-C0" + }, + { + "lpbca": 27, + "branch": 24, + "class": 1, + "linearIndex": 5491, + "address": "0xC816c37D644d2a977AE3be46480b2962D7e4EC1f", + "cellId": "EI-L27-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B24-C1" + }, + { + "lpbca": 27, + "branch": 24, + "class": 2, + "linearIndex": 5492, + "address": "0x5f0e4BD5dc95C660b6E7A01c8868c134Cf3dAf12", + "cellId": "EI-L27-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B24-C2" + }, + { + "lpbca": 27, + "branch": 24, + "class": 3, + "linearIndex": 5493, + "address": "0xb363C8cDb0C40E95Be553BCFE3Fd375b37945faF", + "cellId": "EI-L27-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B24-C3" + }, + { + "lpbca": 27, + "branch": 24, + "class": 4, + "linearIndex": 5494, + "address": "0x55DB6f8d255fC2Ef8Dae795666dfFcb7A9971CBB", + "cellId": "EI-L27-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B24-C4" + }, + { + "lpbca": 27, + "branch": 24, + "class": 5, + "linearIndex": 5495, + "address": "0x3809EBd39082323398f80c225eF8561Cfb947C7F", + "cellId": "EI-L27-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B24-C5" + }, + { + "lpbca": 27, + "branch": 25, + "class": 0, + "linearIndex": 5496, + "address": "0x15ADf47dBACf6406bC30183AACFaF776BA6c490a", + "cellId": "EI-L27-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B25-C0" + }, + { + "lpbca": 27, + "branch": 25, + "class": 1, + "linearIndex": 5497, + "address": "0x7215C93146d458D8D73E826882E6bdc3181101d9", + "cellId": "EI-L27-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B25-C1" + }, + { + "lpbca": 27, + "branch": 25, + "class": 2, + "linearIndex": 5498, + "address": "0xE275bcD64B673B43e89502B2da43871510642630", + "cellId": "EI-L27-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B25-C2" + }, + { + "lpbca": 27, + "branch": 25, + "class": 3, + "linearIndex": 5499, + "address": "0xBc00b0dA5723914e54bDB0A145C92DE28502eFe1", + "cellId": "EI-L27-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B25-C3" + }, + { + "lpbca": 27, + "branch": 25, + "class": 4, + "linearIndex": 5500, + "address": "0x2f32cBDa539C980964e4a204d2A87887B6c647a0", + "cellId": "EI-L27-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B25-C4" + }, + { + "lpbca": 27, + "branch": 25, + "class": 5, + "linearIndex": 5501, + "address": "0xFd6a2e91Ad200cB358147941eBF4eABecf494642", + "cellId": "EI-L27-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B25-C5" + }, + { + "lpbca": 27, + "branch": 26, + "class": 0, + "linearIndex": 5502, + "address": "0x7A5039C192Eed583593Fe9A8559aB88fC90D4e56", + "cellId": "EI-L27-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B26-C0" + }, + { + "lpbca": 27, + "branch": 26, + "class": 1, + "linearIndex": 5503, + "address": "0x2C8BCacE843C75846a2aeb498afa97912c6DD325", + "cellId": "EI-L27-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B26-C1" + }, + { + "lpbca": 27, + "branch": 26, + "class": 2, + "linearIndex": 5504, + "address": "0xE2523b52Adb40a331eAd8E521FF9a38c815bd21A", + "cellId": "EI-L27-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B26-C2" + }, + { + "lpbca": 27, + "branch": 26, + "class": 3, + "linearIndex": 5505, + "address": "0xBE7a0f78e751e5a668cbF08082470359Bc1822c0", + "cellId": "EI-L27-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B26-C3" + }, + { + "lpbca": 27, + "branch": 26, + "class": 4, + "linearIndex": 5506, + "address": "0xA3cf67b0754eA5814aaCaD530FCb4664b2eaBB51", + "cellId": "EI-L27-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B26-C4" + }, + { + "lpbca": 27, + "branch": 26, + "class": 5, + "linearIndex": 5507, + "address": "0xB8446c99aa73E0051E8Cb914cCC3E259b9c17eD7", + "cellId": "EI-L27-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B26-C5" + }, + { + "lpbca": 27, + "branch": 27, + "class": 0, + "linearIndex": 5508, + "address": "0xa77f529644ad0c4dd3761e858ad1eb0203374627", + "cellId": "EI-L27-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B27-C0" + }, + { + "lpbca": 27, + "branch": 27, + "class": 1, + "linearIndex": 5509, + "address": "0x4091b955b127Fe2F93Ef51157C4DE7567455e04c", + "cellId": "EI-L27-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B27-C1" + }, + { + "lpbca": 27, + "branch": 27, + "class": 2, + "linearIndex": 5510, + "address": "0x60c5c557CC981F15952af4B8816E32d02A1c66f7", + "cellId": "EI-L27-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B27-C2" + }, + { + "lpbca": 27, + "branch": 27, + "class": 3, + "linearIndex": 5511, + "address": "0xB95E1fA22b1b93c9D46c454a612bA87b11B82c77", + "cellId": "EI-L27-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B27-C3" + }, + { + "lpbca": 27, + "branch": 27, + "class": 4, + "linearIndex": 5512, + "address": "0xab3025a0045131603D470DdD338A2b9Ca16FdBF4", + "cellId": "EI-L27-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B27-C4" + }, + { + "lpbca": 27, + "branch": 27, + "class": 5, + "linearIndex": 5513, + "address": "0x09A34E670da1b39Bf9631c00B09291bcA9dfdc6E", + "cellId": "EI-L27-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B27-C5" + }, + { + "lpbca": 27, + "branch": 28, + "class": 0, + "linearIndex": 5514, + "address": "0xef74CC4c46b2e6BeFF56110ab61d6ABaaa8F9e85", + "cellId": "EI-L27-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B28-C0" + }, + { + "lpbca": 27, + "branch": 28, + "class": 1, + "linearIndex": 5515, + "address": "0x44322e5059Aeefb9d6ada6709a52C4633963eC86", + "cellId": "EI-L27-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B28-C1" + }, + { + "lpbca": 27, + "branch": 28, + "class": 2, + "linearIndex": 5516, + "address": "0xce1AF7F85DE563E0C5cB5ea6677f54c9f65CF55c", + "cellId": "EI-L27-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B28-C2" + }, + { + "lpbca": 27, + "branch": 28, + "class": 3, + "linearIndex": 5517, + "address": "0x85574E1daB497b05A9295c98f513db1113713448", + "cellId": "EI-L27-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B28-C3" + }, + { + "lpbca": 27, + "branch": 28, + "class": 4, + "linearIndex": 5518, + "address": "0x811E7B5a75AF074E73094a08Acde181849c67e1f", + "cellId": "EI-L27-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B28-C4" + }, + { + "lpbca": 27, + "branch": 28, + "class": 5, + "linearIndex": 5519, + "address": "0x951789Eb74A1B54a6035bAb7E6B07a8394733c3B", + "cellId": "EI-L27-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B28-C5" + }, + { + "lpbca": 27, + "branch": 29, + "class": 0, + "linearIndex": 5520, + "address": "0xc9302d5664E9995d49998590EE1F066f2cF76fe0", + "cellId": "EI-L27-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B29-C0" + }, + { + "lpbca": 27, + "branch": 29, + "class": 1, + "linearIndex": 5521, + "address": "0xABB161EA5dF2fe21BeAAa8696596986f15409935", + "cellId": "EI-L27-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B29-C1" + }, + { + "lpbca": 27, + "branch": 29, + "class": 2, + "linearIndex": 5522, + "address": "0xA88Ee2525ED1BA52edd17b06DADCde9D16840977", + "cellId": "EI-L27-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B29-C2" + }, + { + "lpbca": 27, + "branch": 29, + "class": 3, + "linearIndex": 5523, + "address": "0xca97d13Df7D9F5e593A02DdEf1aAfE64EF18C205", + "cellId": "EI-L27-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B29-C3" + }, + { + "lpbca": 27, + "branch": 29, + "class": 4, + "linearIndex": 5524, + "address": "0x637861Ecd613EC2F0CAa741d4Edd00dFD9A2e88e", + "cellId": "EI-L27-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B29-C4" + }, + { + "lpbca": 27, + "branch": 29, + "class": 5, + "linearIndex": 5525, + "address": "0x900b822B3d4a634E459Bf4B0d037312f83a7F019", + "cellId": "EI-L27-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B29-C5" + }, + { + "lpbca": 27, + "branch": 30, + "class": 0, + "linearIndex": 5526, + "address": "0xe552770A939815fA7A41dC1F443e9f26fcD0ddC0", + "cellId": "EI-L27-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B30-C0" + }, + { + "lpbca": 27, + "branch": 30, + "class": 1, + "linearIndex": 5527, + "address": "0x8cAc08A72A5bC6C514DFf734E6d5dae1e420334C", + "cellId": "EI-L27-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B30-C1" + }, + { + "lpbca": 27, + "branch": 30, + "class": 2, + "linearIndex": 5528, + "address": "0x8d6dF0E35682EBa93e22cbBebA789D90eCAb913D", + "cellId": "EI-L27-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B30-C2" + }, + { + "lpbca": 27, + "branch": 30, + "class": 3, + "linearIndex": 5529, + "address": "0xD12E037f2dFF537083ef37228566179F6675ea44", + "cellId": "EI-L27-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B30-C3" + }, + { + "lpbca": 27, + "branch": 30, + "class": 4, + "linearIndex": 5530, + "address": "0x0FD8bBD82493CAc4c45B52014eE3A2FF4b0CDD5c", + "cellId": "EI-L27-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B30-C4" + }, + { + "lpbca": 27, + "branch": 30, + "class": 5, + "linearIndex": 5531, + "address": "0xB4b9c79c4E34c1B1F2C3733fDf3762a12Ae0B181", + "cellId": "EI-L27-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B30-C5" + }, + { + "lpbca": 27, + "branch": 31, + "class": 0, + "linearIndex": 5532, + "address": "0x46F07798D0cf77dAA3D6F8D2c28093e9D6F073ba", + "cellId": "EI-L27-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B31-C0" + }, + { + "lpbca": 27, + "branch": 31, + "class": 1, + "linearIndex": 5533, + "address": "0x8643CE7c31D214DE3445AF38a55c3000BAe3d7b9", + "cellId": "EI-L27-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B31-C1" + }, + { + "lpbca": 27, + "branch": 31, + "class": 2, + "linearIndex": 5534, + "address": "0x413948867fB57aF81D191c239B98CFa3C009D4f3", + "cellId": "EI-L27-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B31-C2" + }, + { + "lpbca": 27, + "branch": 31, + "class": 3, + "linearIndex": 5535, + "address": "0xBf7A91066E2dbA568aaa04b98070eacfc0f184E1", + "cellId": "EI-L27-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B31-C3" + }, + { + "lpbca": 27, + "branch": 31, + "class": 4, + "linearIndex": 5536, + "address": "0x8AA6445D280A1649115Ec9Bd6029BA8F8c4CdD3F", + "cellId": "EI-L27-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B31-C4" + }, + { + "lpbca": 27, + "branch": 31, + "class": 5, + "linearIndex": 5537, + "address": "0x75C564ef45CCb4DFFD26e283c89033cAa50bE84A", + "cellId": "EI-L27-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B31-C5" + }, + { + "lpbca": 27, + "branch": 32, + "class": 0, + "linearIndex": 5538, + "address": "0x290DEa6704Ed847Fc8593Dd5e9BBcE3F8E7F1243", + "cellId": "EI-L27-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B32-C0" + }, + { + "lpbca": 27, + "branch": 32, + "class": 1, + "linearIndex": 5539, + "address": "0xC0C3960bA80Cc4f653cf888E07E0FD2905E34a01", + "cellId": "EI-L27-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B32-C1" + }, + { + "lpbca": 27, + "branch": 32, + "class": 2, + "linearIndex": 5540, + "address": "0x9A1B631B893b4AD0899c6c43B8883f929A0a78B7", + "cellId": "EI-L27-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B32-C2" + }, + { + "lpbca": 27, + "branch": 32, + "class": 3, + "linearIndex": 5541, + "address": "0x8896124008C636df5fe110Ff66A4955aF748F4a8", + "cellId": "EI-L27-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B32-C3" + }, + { + "lpbca": 27, + "branch": 32, + "class": 4, + "linearIndex": 5542, + "address": "0x560519939cB3c2756539915d2007f8e0238a9551", + "cellId": "EI-L27-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B32-C4" + }, + { + "lpbca": 27, + "branch": 32, + "class": 5, + "linearIndex": 5543, + "address": "0x69E3b831E4DC92914d08DeC6ce12061b6BfA1366", + "cellId": "EI-L27-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L27-B32-C5" + }, + { + "lpbca": 28, + "branch": 0, + "class": 0, + "linearIndex": 5544, + "address": "0x1fA8097d30910A1D3a161f7d2046520C1397d51b", + "cellId": "EI-L28-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B00-C0" + }, + { + "lpbca": 28, + "branch": 0, + "class": 1, + "linearIndex": 5545, + "address": "0x5Ed72Cfa2b5eC01422940C8848BA6a409A20F80f", + "cellId": "EI-L28-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B00-C1" + }, + { + "lpbca": 28, + "branch": 0, + "class": 2, + "linearIndex": 5546, + "address": "0xa2C33f7E18ea2363284Eb6e2513C9aEd16744Eb9", + "cellId": "EI-L28-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B00-C2" + }, + { + "lpbca": 28, + "branch": 0, + "class": 3, + "linearIndex": 5547, + "address": "0x75748a0a4790142A28982b2095d3e0E63160Cb79", + "cellId": "EI-L28-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B00-C3" + }, + { + "lpbca": 28, + "branch": 0, + "class": 4, + "linearIndex": 5548, + "address": "0x5a7aD4f750973455aD7b0056A5733F65d1956CFf", + "cellId": "EI-L28-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B00-C4" + }, + { + "lpbca": 28, + "branch": 0, + "class": 5, + "linearIndex": 5549, + "address": "0x89fE5E590A0857D411D81376736EBD85140A89a1", + "cellId": "EI-L28-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B00-C5" + }, + { + "lpbca": 28, + "branch": 1, + "class": 0, + "linearIndex": 5550, + "address": "0xE55f81dB56080FD7aA953510261AeDf8dB987240", + "cellId": "EI-L28-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B01-C0" + }, + { + "lpbca": 28, + "branch": 1, + "class": 1, + "linearIndex": 5551, + "address": "0xf5fDb8FBEfbd7Ae34C388F44A5CC7813Ce07e7D2", + "cellId": "EI-L28-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B01-C1" + }, + { + "lpbca": 28, + "branch": 1, + "class": 2, + "linearIndex": 5552, + "address": "0xf9b5Af4b7985617B59019ac867988fD042c63cf0", + "cellId": "EI-L28-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B01-C2" + }, + { + "lpbca": 28, + "branch": 1, + "class": 3, + "linearIndex": 5553, + "address": "0x7fA9D276457733983A4a1430d13dBbFB6619E2FB", + "cellId": "EI-L28-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B01-C3" + }, + { + "lpbca": 28, + "branch": 1, + "class": 4, + "linearIndex": 5554, + "address": "0x77F20F4428b459361F6b06C89CC0b56234289AF2", + "cellId": "EI-L28-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B01-C4" + }, + { + "lpbca": 28, + "branch": 1, + "class": 5, + "linearIndex": 5555, + "address": "0xF61B64527a38335A51026959A49E0D5a578f8Efb", + "cellId": "EI-L28-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B01-C5" + }, + { + "lpbca": 28, + "branch": 2, + "class": 0, + "linearIndex": 5556, + "address": "0x6Cc0F294724DB9a9A2480AbF3E7f21CD7A9cdFbf", + "cellId": "EI-L28-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B02-C0" + }, + { + "lpbca": 28, + "branch": 2, + "class": 1, + "linearIndex": 5557, + "address": "0x828412aadF534ca921B9EE2332E1b6F6Cf6d3c55", + "cellId": "EI-L28-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B02-C1" + }, + { + "lpbca": 28, + "branch": 2, + "class": 2, + "linearIndex": 5558, + "address": "0xD2fe07a6d85B4144a6e4867D54751864911a8928", + "cellId": "EI-L28-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B02-C2" + }, + { + "lpbca": 28, + "branch": 2, + "class": 3, + "linearIndex": 5559, + "address": "0x57AEBe72392BC7b5dA341D3542AE67B0BE00040C", + "cellId": "EI-L28-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B02-C3" + }, + { + "lpbca": 28, + "branch": 2, + "class": 4, + "linearIndex": 5560, + "address": "0x64d1E23cBf9AF4394d5af14E9C9F2A96445D3492", + "cellId": "EI-L28-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B02-C4" + }, + { + "lpbca": 28, + "branch": 2, + "class": 5, + "linearIndex": 5561, + "address": "0xf367DE41d1F06d75c656eEFbbd7bd9599D9763d9", + "cellId": "EI-L28-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B02-C5" + }, + { + "lpbca": 28, + "branch": 3, + "class": 0, + "linearIndex": 5562, + "address": "0x576d3da5b9e2EbCb0BE0f2b1b3dB50FcF036D2B0", + "cellId": "EI-L28-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B03-C0" + }, + { + "lpbca": 28, + "branch": 3, + "class": 1, + "linearIndex": 5563, + "address": "0x5F819D0eE8Aca6bfC79f1028486539657FfC3e56", + "cellId": "EI-L28-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B03-C1" + }, + { + "lpbca": 28, + "branch": 3, + "class": 2, + "linearIndex": 5564, + "address": "0xcDc3d60787BE331d9A333924b8694342c173bB9B", + "cellId": "EI-L28-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B03-C2" + }, + { + "lpbca": 28, + "branch": 3, + "class": 3, + "linearIndex": 5565, + "address": "0x3E95985E3CF648D099D085869227C1fFC8d35f0e", + "cellId": "EI-L28-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B03-C3" + }, + { + "lpbca": 28, + "branch": 3, + "class": 4, + "linearIndex": 5566, + "address": "0x46c28C9a97dd2BDa1c76f497B5B178DD01046924", + "cellId": "EI-L28-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B03-C4" + }, + { + "lpbca": 28, + "branch": 3, + "class": 5, + "linearIndex": 5567, + "address": "0xB34660c4787020Ae9Cdb7322386c5c829e6543Cf", + "cellId": "EI-L28-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B03-C5" + }, + { + "lpbca": 28, + "branch": 4, + "class": 0, + "linearIndex": 5568, + "address": "0xe338478E455bA38Bc732218f0396BD2393c6aFb7", + "cellId": "EI-L28-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B04-C0" + }, + { + "lpbca": 28, + "branch": 4, + "class": 1, + "linearIndex": 5569, + "address": "0x8a444a8aCDB3A7ff8b205FB64D9a3Aee22370d97", + "cellId": "EI-L28-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B04-C1" + }, + { + "lpbca": 28, + "branch": 4, + "class": 2, + "linearIndex": 5570, + "address": "0x6209417BC51eABE275d91476F6Fe56BF89625C39", + "cellId": "EI-L28-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B04-C2" + }, + { + "lpbca": 28, + "branch": 4, + "class": 3, + "linearIndex": 5571, + "address": "0xA39a13B8a2FAb998A9fea96107cB83234EC3938F", + "cellId": "EI-L28-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B04-C3" + }, + { + "lpbca": 28, + "branch": 4, + "class": 4, + "linearIndex": 5572, + "address": "0x177064D1DCec2f0ED76445A415C0996db4e61Ece", + "cellId": "EI-L28-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B04-C4" + }, + { + "lpbca": 28, + "branch": 4, + "class": 5, + "linearIndex": 5573, + "address": "0x355dceA421C4c4EA8fD9893A617e6db93C9EDa72", + "cellId": "EI-L28-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B04-C5" + }, + { + "lpbca": 28, + "branch": 5, + "class": 0, + "linearIndex": 5574, + "address": "0xE6810fC3c6ebAf97540048B289784B6a1dFb1F99", + "cellId": "EI-L28-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B05-C0" + }, + { + "lpbca": 28, + "branch": 5, + "class": 1, + "linearIndex": 5575, + "address": "0xD870F8B8849D24e22aE299420E128948fe3e2730", + "cellId": "EI-L28-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B05-C1" + }, + { + "lpbca": 28, + "branch": 5, + "class": 2, + "linearIndex": 5576, + "address": "0x748c203A6D2f97b6B6319eE73342eD3db0276469", + "cellId": "EI-L28-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B05-C2" + }, + { + "lpbca": 28, + "branch": 5, + "class": 3, + "linearIndex": 5577, + "address": "0xAC224FaB0b42d0e4263Ad49423Da71190d310c1a", + "cellId": "EI-L28-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B05-C3" + }, + { + "lpbca": 28, + "branch": 5, + "class": 4, + "linearIndex": 5578, + "address": "0x5230D1502156f3F3D19C452C677d62a2d7a9f6ff", + "cellId": "EI-L28-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B05-C4" + }, + { + "lpbca": 28, + "branch": 5, + "class": 5, + "linearIndex": 5579, + "address": "0xb384aB7c07c45d8FeA0126eEec40C5d4a8407e5F", + "cellId": "EI-L28-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B05-C5" + }, + { + "lpbca": 28, + "branch": 6, + "class": 0, + "linearIndex": 5580, + "address": "0xBe5f4728ee243BC6B21d23DA79A8cc011a6276f4", + "cellId": "EI-L28-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B06-C0" + }, + { + "lpbca": 28, + "branch": 6, + "class": 1, + "linearIndex": 5581, + "address": "0xa12e3eCdF5ff6106d4d2FCb4798D54f5c10c63C0", + "cellId": "EI-L28-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B06-C1" + }, + { + "lpbca": 28, + "branch": 6, + "class": 2, + "linearIndex": 5582, + "address": "0xcccB6D39B251ac0582dF3F7a3654491931086923", + "cellId": "EI-L28-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B06-C2" + }, + { + "lpbca": 28, + "branch": 6, + "class": 3, + "linearIndex": 5583, + "address": "0x70Ea9d1329EB89050fcfF608b183dF46Fe44e2E7", + "cellId": "EI-L28-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B06-C3" + }, + { + "lpbca": 28, + "branch": 6, + "class": 4, + "linearIndex": 5584, + "address": "0xedEB8EF1C835AA232a122e7af5d54c4cdD7D1025", + "cellId": "EI-L28-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B06-C4" + }, + { + "lpbca": 28, + "branch": 6, + "class": 5, + "linearIndex": 5585, + "address": "0xfE43b0CCe346a6592b28f8991DBc57245241E3E0", + "cellId": "EI-L28-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B06-C5" + }, + { + "lpbca": 28, + "branch": 7, + "class": 0, + "linearIndex": 5586, + "address": "0x18f0f7d154ABbf2C8109021D0706A3a9c5D79ce3", + "cellId": "EI-L28-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B07-C0" + }, + { + "lpbca": 28, + "branch": 7, + "class": 1, + "linearIndex": 5587, + "address": "0xa47C66FF44Cd3cee1Da5686c2A55fd2D9585260f", + "cellId": "EI-L28-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B07-C1" + }, + { + "lpbca": 28, + "branch": 7, + "class": 2, + "linearIndex": 5588, + "address": "0x5F4323b8b6ae318686ef4B285F67E7824D25C2b7", + "cellId": "EI-L28-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B07-C2" + }, + { + "lpbca": 28, + "branch": 7, + "class": 3, + "linearIndex": 5589, + "address": "0x7C0d0478c9AAfa6df131FcB2582052D024308bd0", + "cellId": "EI-L28-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B07-C3" + }, + { + "lpbca": 28, + "branch": 7, + "class": 4, + "linearIndex": 5590, + "address": "0x2E4d9206a64Ad0191A9C6536b25470Fa16d02a86", + "cellId": "EI-L28-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B07-C4" + }, + { + "lpbca": 28, + "branch": 7, + "class": 5, + "linearIndex": 5591, + "address": "0x4bFA254B44C3831341359BD45356675172c90994", + "cellId": "EI-L28-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B07-C5" + }, + { + "lpbca": 28, + "branch": 8, + "class": 0, + "linearIndex": 5592, + "address": "0x22BD1EaFb367C211cC02801ac85C4f506A27496A", + "cellId": "EI-L28-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B08-C0" + }, + { + "lpbca": 28, + "branch": 8, + "class": 1, + "linearIndex": 5593, + "address": "0x82BeCc2d53710fEb620329A6480a5e943112afda", + "cellId": "EI-L28-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B08-C1" + }, + { + "lpbca": 28, + "branch": 8, + "class": 2, + "linearIndex": 5594, + "address": "0x01E89E41fD7ED90415dc8B545881eF9F0C141640", + "cellId": "EI-L28-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B08-C2" + }, + { + "lpbca": 28, + "branch": 8, + "class": 3, + "linearIndex": 5595, + "address": "0xdf1A1F7b6E3404A798D43edbD0c5eA523Baf62E0", + "cellId": "EI-L28-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B08-C3" + }, + { + "lpbca": 28, + "branch": 8, + "class": 4, + "linearIndex": 5596, + "address": "0x22F828b48057b07E1af5d9415A16AE7489F32785", + "cellId": "EI-L28-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B08-C4" + }, + { + "lpbca": 28, + "branch": 8, + "class": 5, + "linearIndex": 5597, + "address": "0xE278E3370BbfE53bc5eF90bc6D32D2ce90C0C7CF", + "cellId": "EI-L28-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B08-C5" + }, + { + "lpbca": 28, + "branch": 9, + "class": 0, + "linearIndex": 5598, + "address": "0x51A9AC007b29CC9BfFCA4555B9363bca69d1c710", + "cellId": "EI-L28-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B09-C0" + }, + { + "lpbca": 28, + "branch": 9, + "class": 1, + "linearIndex": 5599, + "address": "0x086c856a6a5AD0a68A584e5B20111030a05f0B49", + "cellId": "EI-L28-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B09-C1" + }, + { + "lpbca": 28, + "branch": 9, + "class": 2, + "linearIndex": 5600, + "address": "0x5a0b67Be7Ab607893f7E7682BbE5b834Fc01ac48", + "cellId": "EI-L28-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B09-C2" + }, + { + "lpbca": 28, + "branch": 9, + "class": 3, + "linearIndex": 5601, + "address": "0x4bfAEDc2abECfDfDf7f68bbbdb75631AD7C25630", + "cellId": "EI-L28-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B09-C3" + }, + { + "lpbca": 28, + "branch": 9, + "class": 4, + "linearIndex": 5602, + "address": "0xB20bC352B401a9cB5Eb30969C593b2A4862B436c", + "cellId": "EI-L28-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B09-C4" + }, + { + "lpbca": 28, + "branch": 9, + "class": 5, + "linearIndex": 5603, + "address": "0xb56Deef65745f3Eaa0255637043D4FDD5a9dbfc8", + "cellId": "EI-L28-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B09-C5" + }, + { + "lpbca": 28, + "branch": 10, + "class": 0, + "linearIndex": 5604, + "address": "0x74A9C95606465ED5240333Bf617C2A78c8BE86c2", + "cellId": "EI-L28-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B10-C0" + }, + { + "lpbca": 28, + "branch": 10, + "class": 1, + "linearIndex": 5605, + "address": "0x3d9e5C2feF6d343AFf6A793dF6c419d5430466D2", + "cellId": "EI-L28-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B10-C1" + }, + { + "lpbca": 28, + "branch": 10, + "class": 2, + "linearIndex": 5606, + "address": "0x407533f05AE39B47511148681572f440C8cdab0F", + "cellId": "EI-L28-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B10-C2" + }, + { + "lpbca": 28, + "branch": 10, + "class": 3, + "linearIndex": 5607, + "address": "0x92a6651213F9295Cf9D61a32368F266017d77cAC", + "cellId": "EI-L28-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B10-C3" + }, + { + "lpbca": 28, + "branch": 10, + "class": 4, + "linearIndex": 5608, + "address": "0x3B4AaBe7ceed107F3fd4300C968545d8Ba1EDc51", + "cellId": "EI-L28-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B10-C4" + }, + { + "lpbca": 28, + "branch": 10, + "class": 5, + "linearIndex": 5609, + "address": "0xC43CA3CcC6235F0cBC0807Bb10fACC16E0Cedf48", + "cellId": "EI-L28-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B10-C5" + }, + { + "lpbca": 28, + "branch": 11, + "class": 0, + "linearIndex": 5610, + "address": "0x285F300cbaE9216eBF94DEE8bc0163202BcCC84D", + "cellId": "EI-L28-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B11-C0" + }, + { + "lpbca": 28, + "branch": 11, + "class": 1, + "linearIndex": 5611, + "address": "0x7d6e6892e0f2c2B4bb87DcAB6B6688944112a351", + "cellId": "EI-L28-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B11-C1" + }, + { + "lpbca": 28, + "branch": 11, + "class": 2, + "linearIndex": 5612, + "address": "0x43Ac504c12D2fd38f570d63fc1919DF6A896E17A", + "cellId": "EI-L28-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B11-C2" + }, + { + "lpbca": 28, + "branch": 11, + "class": 3, + "linearIndex": 5613, + "address": "0xCE9B106CF05e598C0A687eC0Dabd9D9a666672F3", + "cellId": "EI-L28-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B11-C3" + }, + { + "lpbca": 28, + "branch": 11, + "class": 4, + "linearIndex": 5614, + "address": "0x49e4c3377d7C68325586242f95A9d806a3eb4516", + "cellId": "EI-L28-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B11-C4" + }, + { + "lpbca": 28, + "branch": 11, + "class": 5, + "linearIndex": 5615, + "address": "0x6a8256d416407C4777A82Fda488dA26c0ea0Bf01", + "cellId": "EI-L28-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B11-C5" + }, + { + "lpbca": 28, + "branch": 12, + "class": 0, + "linearIndex": 5616, + "address": "0x510B716e1ded42C9E03D4F09074e51971c621497", + "cellId": "EI-L28-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B12-C0" + }, + { + "lpbca": 28, + "branch": 12, + "class": 1, + "linearIndex": 5617, + "address": "0x268A4Be7883F735dFA311c279586E2A135214231", + "cellId": "EI-L28-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B12-C1" + }, + { + "lpbca": 28, + "branch": 12, + "class": 2, + "linearIndex": 5618, + "address": "0xaC8C6B3349FbbD22953C039Ed7f282eFE600f0bc", + "cellId": "EI-L28-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B12-C2" + }, + { + "lpbca": 28, + "branch": 12, + "class": 3, + "linearIndex": 5619, + "address": "0xE9634958ee506587F9c75937744271F8a5397d76", + "cellId": "EI-L28-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B12-C3" + }, + { + "lpbca": 28, + "branch": 12, + "class": 4, + "linearIndex": 5620, + "address": "0x80CA4e9C08De9EA50E75bFA7E78f4bE7A13dC0Ca", + "cellId": "EI-L28-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B12-C4" + }, + { + "lpbca": 28, + "branch": 12, + "class": 5, + "linearIndex": 5621, + "address": "0xfC6a529C06ccC86DBc4330A31663A080BDA0Cba4", + "cellId": "EI-L28-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B12-C5" + }, + { + "lpbca": 28, + "branch": 13, + "class": 0, + "linearIndex": 5622, + "address": "0xec0a024Dbc8a2B069e22fBF948BcAbd6394C1fdb", + "cellId": "EI-L28-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B13-C0" + }, + { + "lpbca": 28, + "branch": 13, + "class": 1, + "linearIndex": 5623, + "address": "0x5cf6773377a6cF95a35F9531cEA6fcAe7F06FDC7", + "cellId": "EI-L28-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B13-C1" + }, + { + "lpbca": 28, + "branch": 13, + "class": 2, + "linearIndex": 5624, + "address": "0x5626e27B3a6AFC6D3A40195EA9e0Ad12d1C168aC", + "cellId": "EI-L28-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B13-C2" + }, + { + "lpbca": 28, + "branch": 13, + "class": 3, + "linearIndex": 5625, + "address": "0x8Ab85E68A130F0ee8d329258aeFd1f3a437eeAF1", + "cellId": "EI-L28-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B13-C3" + }, + { + "lpbca": 28, + "branch": 13, + "class": 4, + "linearIndex": 5626, + "address": "0x98A82124530cC72df2Eb25a6F735a000238cACfC", + "cellId": "EI-L28-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B13-C4" + }, + { + "lpbca": 28, + "branch": 13, + "class": 5, + "linearIndex": 5627, + "address": "0x18D4970cE859Df65b24D0f2aA1dF5a47148F374A", + "cellId": "EI-L28-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B13-C5" + }, + { + "lpbca": 28, + "branch": 14, + "class": 0, + "linearIndex": 5628, + "address": "0x31a4539503F4bD7218a94Cd22354dC7784D76C1e", + "cellId": "EI-L28-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B14-C0" + }, + { + "lpbca": 28, + "branch": 14, + "class": 1, + "linearIndex": 5629, + "address": "0xBD7A4Fb60cAD947416A03be6F45317EdD4Bb5Dbb", + "cellId": "EI-L28-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B14-C1" + }, + { + "lpbca": 28, + "branch": 14, + "class": 2, + "linearIndex": 5630, + "address": "0x6ea3CA250A4056CA95804Ff1ec7b7CF638f0f33f", + "cellId": "EI-L28-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B14-C2" + }, + { + "lpbca": 28, + "branch": 14, + "class": 3, + "linearIndex": 5631, + "address": "0x710b09024F2Eb982EBD6061A5c33596D36278Be5", + "cellId": "EI-L28-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B14-C3" + }, + { + "lpbca": 28, + "branch": 14, + "class": 4, + "linearIndex": 5632, + "address": "0xAf06C453373B48CE5C9Db73b20D05642b30a68F6", + "cellId": "EI-L28-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B14-C4" + }, + { + "lpbca": 28, + "branch": 14, + "class": 5, + "linearIndex": 5633, + "address": "0xC485Ed29E433885Fa5C1ae9502bC0Da92F8fb52a", + "cellId": "EI-L28-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B14-C5" + }, + { + "lpbca": 28, + "branch": 15, + "class": 0, + "linearIndex": 5634, + "address": "0x15888C4800A398DF60755387FC24C1cb815A41FA", + "cellId": "EI-L28-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B15-C0" + }, + { + "lpbca": 28, + "branch": 15, + "class": 1, + "linearIndex": 5635, + "address": "0x2145028527E753cd3612E74396f04eD13044477b", + "cellId": "EI-L28-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B15-C1" + }, + { + "lpbca": 28, + "branch": 15, + "class": 2, + "linearIndex": 5636, + "address": "0x985fe50c71DD7E37759f6283E82BC4A420d7a9a5", + "cellId": "EI-L28-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B15-C2" + }, + { + "lpbca": 28, + "branch": 15, + "class": 3, + "linearIndex": 5637, + "address": "0x3390d0EC19eCeab3aCE883ca640335E41a4b6Fd5", + "cellId": "EI-L28-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B15-C3" + }, + { + "lpbca": 28, + "branch": 15, + "class": 4, + "linearIndex": 5638, + "address": "0x9F8B44347c62e5ACdd8762F456f450D44804A650", + "cellId": "EI-L28-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B15-C4" + }, + { + "lpbca": 28, + "branch": 15, + "class": 5, + "linearIndex": 5639, + "address": "0x0Bcda19f6268B210C35A5839d998658b2a298c69", + "cellId": "EI-L28-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B15-C5" + }, + { + "lpbca": 28, + "branch": 16, + "class": 0, + "linearIndex": 5640, + "address": "0x81B13f140bC2b87Bf71358933Fe789b5159D4851", + "cellId": "EI-L28-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B16-C0" + }, + { + "lpbca": 28, + "branch": 16, + "class": 1, + "linearIndex": 5641, + "address": "0x7Ae99ed97Ba7B460fD6D2CfE672493b63a253A16", + "cellId": "EI-L28-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B16-C1" + }, + { + "lpbca": 28, + "branch": 16, + "class": 2, + "linearIndex": 5642, + "address": "0x9d7c65a691Da9F469F4a67574580e99Da7123b41", + "cellId": "EI-L28-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B16-C2" + }, + { + "lpbca": 28, + "branch": 16, + "class": 3, + "linearIndex": 5643, + "address": "0x825cd4C27C8735f2D3ddF2f3F033375a9521e504", + "cellId": "EI-L28-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B16-C3" + }, + { + "lpbca": 28, + "branch": 16, + "class": 4, + "linearIndex": 5644, + "address": "0xA53CBE5a6FdeB6D8ecFf94a6dCC42eab51d10757", + "cellId": "EI-L28-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B16-C4" + }, + { + "lpbca": 28, + "branch": 16, + "class": 5, + "linearIndex": 5645, + "address": "0x3246A3cD8c8E4E6c2ab0e2B76275C8BDd61a2aEc", + "cellId": "EI-L28-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B16-C5" + }, + { + "lpbca": 28, + "branch": 17, + "class": 0, + "linearIndex": 5646, + "address": "0xB46ae09C1a8F62F9463cD08D8aE711bE81C40f5C", + "cellId": "EI-L28-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B17-C0" + }, + { + "lpbca": 28, + "branch": 17, + "class": 1, + "linearIndex": 5647, + "address": "0x77c52ba369D8F5Ea5F8d67f70327E5D960Adc56c", + "cellId": "EI-L28-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B17-C1" + }, + { + "lpbca": 28, + "branch": 17, + "class": 2, + "linearIndex": 5648, + "address": "0xc7f02d803617bD8b71B27587cEBc3956706cb7f9", + "cellId": "EI-L28-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B17-C2" + }, + { + "lpbca": 28, + "branch": 17, + "class": 3, + "linearIndex": 5649, + "address": "0xF8f1366489aC83293DD12374B4b87C036887500A", + "cellId": "EI-L28-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B17-C3" + }, + { + "lpbca": 28, + "branch": 17, + "class": 4, + "linearIndex": 5650, + "address": "0x2e958890B99D0F5457d03e7Dbf902f5B629Cd9Eb", + "cellId": "EI-L28-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B17-C4" + }, + { + "lpbca": 28, + "branch": 17, + "class": 5, + "linearIndex": 5651, + "address": "0x26f342Eee1710313138A6d7125b7549229a6dA9d", + "cellId": "EI-L28-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B17-C5" + }, + { + "lpbca": 28, + "branch": 18, + "class": 0, + "linearIndex": 5652, + "address": "0x1861cA6a27665755e280793d482F63Ef325e9E63", + "cellId": "EI-L28-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B18-C0" + }, + { + "lpbca": 28, + "branch": 18, + "class": 1, + "linearIndex": 5653, + "address": "0xf7f3830138657BC88F5d4376ec16ef6670FAd6a7", + "cellId": "EI-L28-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B18-C1" + }, + { + "lpbca": 28, + "branch": 18, + "class": 2, + "linearIndex": 5654, + "address": "0xaf59245BDc2F45aF16bE8BF0116528C3b1Ab52bC", + "cellId": "EI-L28-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B18-C2" + }, + { + "lpbca": 28, + "branch": 18, + "class": 3, + "linearIndex": 5655, + "address": "0x64883B477e32E21106973b7755ED584E86cD7Cba", + "cellId": "EI-L28-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B18-C3" + }, + { + "lpbca": 28, + "branch": 18, + "class": 4, + "linearIndex": 5656, + "address": "0x743Ee35D78339ACd27135946F6BC2181b63F5B7F", + "cellId": "EI-L28-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B18-C4" + }, + { + "lpbca": 28, + "branch": 18, + "class": 5, + "linearIndex": 5657, + "address": "0xb72482f5BE2C2FA9cf83680dbd2281668A273d5c", + "cellId": "EI-L28-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B18-C5" + }, + { + "lpbca": 28, + "branch": 19, + "class": 0, + "linearIndex": 5658, + "address": "0x715B3531059376bF5256ecD93Fcb98a42B6c91c3", + "cellId": "EI-L28-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B19-C0" + }, + { + "lpbca": 28, + "branch": 19, + "class": 1, + "linearIndex": 5659, + "address": "0x80b4d3e0deFf4Dc0551Af273d0C69b087769902E", + "cellId": "EI-L28-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B19-C1" + }, + { + "lpbca": 28, + "branch": 19, + "class": 2, + "linearIndex": 5660, + "address": "0x457F969c2d423B0003c8365EFB6BCa35E797C868", + "cellId": "EI-L28-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B19-C2" + }, + { + "lpbca": 28, + "branch": 19, + "class": 3, + "linearIndex": 5661, + "address": "0x30D8D0253fee2a3ab0b0670Ccfb3802D87760a1b", + "cellId": "EI-L28-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B19-C3" + }, + { + "lpbca": 28, + "branch": 19, + "class": 4, + "linearIndex": 5662, + "address": "0xCaBCbE251e01b5393f3A63AdA9476f48c318df44", + "cellId": "EI-L28-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B19-C4" + }, + { + "lpbca": 28, + "branch": 19, + "class": 5, + "linearIndex": 5663, + "address": "0x9D2811D51A5eB8bf048C70aA9d616EbeECf41f9A", + "cellId": "EI-L28-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B19-C5" + }, + { + "lpbca": 28, + "branch": 20, + "class": 0, + "linearIndex": 5664, + "address": "0xAccbC8D2821819D30b48Ce711d67cf5ED25dADBB", + "cellId": "EI-L28-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B20-C0" + }, + { + "lpbca": 28, + "branch": 20, + "class": 1, + "linearIndex": 5665, + "address": "0x82DCb9393f3FE18eFAB7De3189D144dede395246", + "cellId": "EI-L28-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B20-C1" + }, + { + "lpbca": 28, + "branch": 20, + "class": 2, + "linearIndex": 5666, + "address": "0x3b3695b83c8d9c0dAF8Ac625ae766A347221fC70", + "cellId": "EI-L28-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B20-C2" + }, + { + "lpbca": 28, + "branch": 20, + "class": 3, + "linearIndex": 5667, + "address": "0xF197863D4edfbaf3DdE24A23486F68f6ED29be39", + "cellId": "EI-L28-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B20-C3" + }, + { + "lpbca": 28, + "branch": 20, + "class": 4, + "linearIndex": 5668, + "address": "0x99f2CA0577a382680C3F473498523875BF89374f", + "cellId": "EI-L28-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B20-C4" + }, + { + "lpbca": 28, + "branch": 20, + "class": 5, + "linearIndex": 5669, + "address": "0x4FF1C35b13ff7F4A5d275f236c9eDe7039D18F7e", + "cellId": "EI-L28-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B20-C5" + }, + { + "lpbca": 28, + "branch": 21, + "class": 0, + "linearIndex": 5670, + "address": "0xAFe2cd5DFf1174ff25aa29C71f82Ba7EfB308E20", + "cellId": "EI-L28-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B21-C0" + }, + { + "lpbca": 28, + "branch": 21, + "class": 1, + "linearIndex": 5671, + "address": "0x46AE9176Fa55D7B995F24Ebf35BCc64875aD7d63", + "cellId": "EI-L28-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B21-C1" + }, + { + "lpbca": 28, + "branch": 21, + "class": 2, + "linearIndex": 5672, + "address": "0xa87bd8A6186573f5d7E1db66D21dad14280eF222", + "cellId": "EI-L28-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B21-C2" + }, + { + "lpbca": 28, + "branch": 21, + "class": 3, + "linearIndex": 5673, + "address": "0xA2B8D34904a40B19B26fe4CD2Ffb4850b78169db", + "cellId": "EI-L28-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B21-C3" + }, + { + "lpbca": 28, + "branch": 21, + "class": 4, + "linearIndex": 5674, + "address": "0xeeFdf9E6c9959a1eb633895BDd5EFB012ad5F164", + "cellId": "EI-L28-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B21-C4" + }, + { + "lpbca": 28, + "branch": 21, + "class": 5, + "linearIndex": 5675, + "address": "0xD26a7F5f0CA878adDf025fA38D64ab795c11C10E", + "cellId": "EI-L28-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B21-C5" + }, + { + "lpbca": 28, + "branch": 22, + "class": 0, + "linearIndex": 5676, + "address": "0x3F5Ba72B308954f8E1CBa0C9209CeB5F31b23F9E", + "cellId": "EI-L28-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B22-C0" + }, + { + "lpbca": 28, + "branch": 22, + "class": 1, + "linearIndex": 5677, + "address": "0x35A98bE0c027FFc3EfceCbb1DB133114FeC1Abf7", + "cellId": "EI-L28-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B22-C1" + }, + { + "lpbca": 28, + "branch": 22, + "class": 2, + "linearIndex": 5678, + "address": "0xb70172627Ad226044d429D7C63E31F3265879f41", + "cellId": "EI-L28-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B22-C2" + }, + { + "lpbca": 28, + "branch": 22, + "class": 3, + "linearIndex": 5679, + "address": "0x8263076d9D5F6992a095080390Ba6c3B96939a6A", + "cellId": "EI-L28-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B22-C3" + }, + { + "lpbca": 28, + "branch": 22, + "class": 4, + "linearIndex": 5680, + "address": "0xe8AB6d83A3a149eDaCFb2Bae5314fAca182F95c8", + "cellId": "EI-L28-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B22-C4" + }, + { + "lpbca": 28, + "branch": 22, + "class": 5, + "linearIndex": 5681, + "address": "0x8777FEC4D3591A409764Dec7ABC7b022Cac9BbB9", + "cellId": "EI-L28-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B22-C5" + }, + { + "lpbca": 28, + "branch": 23, + "class": 0, + "linearIndex": 5682, + "address": "0x276bb07c7Eda73Fc758fA1c52D9F1a539d547782", + "cellId": "EI-L28-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B23-C0" + }, + { + "lpbca": 28, + "branch": 23, + "class": 1, + "linearIndex": 5683, + "address": "0x94c54055Cf010D019fC8d56Eb75ea44495F3A3fa", + "cellId": "EI-L28-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B23-C1" + }, + { + "lpbca": 28, + "branch": 23, + "class": 2, + "linearIndex": 5684, + "address": "0x0985Ccf0Cca155c68A44b27377b95e6575d469F4", + "cellId": "EI-L28-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B23-C2" + }, + { + "lpbca": 28, + "branch": 23, + "class": 3, + "linearIndex": 5685, + "address": "0xE784794435E5f253BA413c46652B441a0A998a4A", + "cellId": "EI-L28-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B23-C3" + }, + { + "lpbca": 28, + "branch": 23, + "class": 4, + "linearIndex": 5686, + "address": "0xbbaf470B874aF8Cc2c10a2e7e587794ace57259C", + "cellId": "EI-L28-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B23-C4" + }, + { + "lpbca": 28, + "branch": 23, + "class": 5, + "linearIndex": 5687, + "address": "0x7a088db1cb888B247E540de7c1836ce7dEEa4F61", + "cellId": "EI-L28-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B23-C5" + }, + { + "lpbca": 28, + "branch": 24, + "class": 0, + "linearIndex": 5688, + "address": "0x7d0756738546504D6BF2D4BEC6c9b5220fEbDa16", + "cellId": "EI-L28-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B24-C0" + }, + { + "lpbca": 28, + "branch": 24, + "class": 1, + "linearIndex": 5689, + "address": "0x0eA92828379D42A7Cd9deE53D3B675eE8B61841D", + "cellId": "EI-L28-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B24-C1" + }, + { + "lpbca": 28, + "branch": 24, + "class": 2, + "linearIndex": 5690, + "address": "0x3bcA1A77561c30c15f57b18beaD79b971337735f", + "cellId": "EI-L28-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B24-C2" + }, + { + "lpbca": 28, + "branch": 24, + "class": 3, + "linearIndex": 5691, + "address": "0xd668c323c7bE4aa373575FEdf2129416B4E1DAb9", + "cellId": "EI-L28-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B24-C3" + }, + { + "lpbca": 28, + "branch": 24, + "class": 4, + "linearIndex": 5692, + "address": "0x510057A3E4Ae3972fF1928f230b7E57e64f4f682", + "cellId": "EI-L28-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B24-C4" + }, + { + "lpbca": 28, + "branch": 24, + "class": 5, + "linearIndex": 5693, + "address": "0xFd1b737a068cB775BE97c82a859f56F12fAE944E", + "cellId": "EI-L28-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B24-C5" + }, + { + "lpbca": 28, + "branch": 25, + "class": 0, + "linearIndex": 5694, + "address": "0xaAA59642158e8C9c38D0Ca2Fc5BF7935E68Caa57", + "cellId": "EI-L28-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B25-C0" + }, + { + "lpbca": 28, + "branch": 25, + "class": 1, + "linearIndex": 5695, + "address": "0xa5F97668F18510C64A18899AddFFEa2f2ee1e9fA", + "cellId": "EI-L28-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B25-C1" + }, + { + "lpbca": 28, + "branch": 25, + "class": 2, + "linearIndex": 5696, + "address": "0xae4F8ed9A66c7594B53aB15D6EC2bF694c7e082a", + "cellId": "EI-L28-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B25-C2" + }, + { + "lpbca": 28, + "branch": 25, + "class": 3, + "linearIndex": 5697, + "address": "0x97fEaa727D276670C3625F3da0018aa6B889796d", + "cellId": "EI-L28-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B25-C3" + }, + { + "lpbca": 28, + "branch": 25, + "class": 4, + "linearIndex": 5698, + "address": "0xf8A94512871804BfAc4B1aD704DF191494639108", + "cellId": "EI-L28-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B25-C4" + }, + { + "lpbca": 28, + "branch": 25, + "class": 5, + "linearIndex": 5699, + "address": "0xEDde9680E624a557D87B8981BF31F9C5ab7E787E", + "cellId": "EI-L28-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B25-C5" + }, + { + "lpbca": 28, + "branch": 26, + "class": 0, + "linearIndex": 5700, + "address": "0x5b275d1599f34583fA63BffB4e99548c2f9aEd24", + "cellId": "EI-L28-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B26-C0" + }, + { + "lpbca": 28, + "branch": 26, + "class": 1, + "linearIndex": 5701, + "address": "0xB2EB1Afbca18b0475f9B7cb0345ABE0f0E12D35A", + "cellId": "EI-L28-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B26-C1" + }, + { + "lpbca": 28, + "branch": 26, + "class": 2, + "linearIndex": 5702, + "address": "0xFEc2eBe89CECDd7DB439c40604Ad1869D03594E5", + "cellId": "EI-L28-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B26-C2" + }, + { + "lpbca": 28, + "branch": 26, + "class": 3, + "linearIndex": 5703, + "address": "0x39F58E66729E38e0cC1660B7ce556371BCc55701", + "cellId": "EI-L28-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B26-C3" + }, + { + "lpbca": 28, + "branch": 26, + "class": 4, + "linearIndex": 5704, + "address": "0x96B3A1b41e0738DDd23EAF7BDb964e11E580bBA3", + "cellId": "EI-L28-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B26-C4" + }, + { + "lpbca": 28, + "branch": 26, + "class": 5, + "linearIndex": 5705, + "address": "0x9277Bf95d925FC95b165f7E9171F8Fc30d0cFa4B", + "cellId": "EI-L28-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B26-C5" + }, + { + "lpbca": 28, + "branch": 27, + "class": 0, + "linearIndex": 5706, + "address": "0xaF5Ba6e35a737be0bE6a49B45EF9066f9Ce91764", + "cellId": "EI-L28-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B27-C0" + }, + { + "lpbca": 28, + "branch": 27, + "class": 1, + "linearIndex": 5707, + "address": "0xA62092C097562d2a3E59D73596e80EE964048B95", + "cellId": "EI-L28-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B27-C1" + }, + { + "lpbca": 28, + "branch": 27, + "class": 2, + "linearIndex": 5708, + "address": "0xf8ebc26DAEDE9BC64EffADAb9b71dDfbFd51d12E", + "cellId": "EI-L28-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B27-C2" + }, + { + "lpbca": 28, + "branch": 27, + "class": 3, + "linearIndex": 5709, + "address": "0xFc420B05bbd3C92b1ba9B8F56A5A6e938425E3Ff", + "cellId": "EI-L28-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B27-C3" + }, + { + "lpbca": 28, + "branch": 27, + "class": 4, + "linearIndex": 5710, + "address": "0xd387A3bCADFc91A6e1e6441B3c323f1234a7fcFa", + "cellId": "EI-L28-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B27-C4" + }, + { + "lpbca": 28, + "branch": 27, + "class": 5, + "linearIndex": 5711, + "address": "0x45f029660163c2bF18deD54c0724d1c66B0b9d6a", + "cellId": "EI-L28-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B27-C5" + }, + { + "lpbca": 28, + "branch": 28, + "class": 0, + "linearIndex": 5712, + "address": "0x084B07C7B1836d921DeC86dd93BD533196A1eD7a", + "cellId": "EI-L28-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B28-C0" + }, + { + "lpbca": 28, + "branch": 28, + "class": 1, + "linearIndex": 5713, + "address": "0xbBbA908Be12B959B52700Fb226Ca1a6c3E155f8e", + "cellId": "EI-L28-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B28-C1" + }, + { + "lpbca": 28, + "branch": 28, + "class": 2, + "linearIndex": 5714, + "address": "0xC80521b30D083f76385926dcd850f7bd6E8e0a34", + "cellId": "EI-L28-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B28-C2" + }, + { + "lpbca": 28, + "branch": 28, + "class": 3, + "linearIndex": 5715, + "address": "0xff3BeC56A033745fb5440CDD52f35084143d7eD4", + "cellId": "EI-L28-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B28-C3" + }, + { + "lpbca": 28, + "branch": 28, + "class": 4, + "linearIndex": 5716, + "address": "0x22BEb1164f7Ed95bFf82838CCb85E96D7a2486A0", + "cellId": "EI-L28-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B28-C4" + }, + { + "lpbca": 28, + "branch": 28, + "class": 5, + "linearIndex": 5717, + "address": "0x32DF1076Ab0f046d5dbEc8C8B1B0eDaf28933901", + "cellId": "EI-L28-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B28-C5" + }, + { + "lpbca": 28, + "branch": 29, + "class": 0, + "linearIndex": 5718, + "address": "0xBED81E5400C7415d30102aE0f185f64F5fE8C6e4", + "cellId": "EI-L28-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B29-C0" + }, + { + "lpbca": 28, + "branch": 29, + "class": 1, + "linearIndex": 5719, + "address": "0x796d8127EA0427e3112b633A67e9Deac61b558c2", + "cellId": "EI-L28-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B29-C1" + }, + { + "lpbca": 28, + "branch": 29, + "class": 2, + "linearIndex": 5720, + "address": "0x4ED06bD0E832343a163f8AB86D971062D2dCEB15", + "cellId": "EI-L28-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B29-C2" + }, + { + "lpbca": 28, + "branch": 29, + "class": 3, + "linearIndex": 5721, + "address": "0xF6C3a1BB85616877B5dF49CEDc360aa2DcC0c8f3", + "cellId": "EI-L28-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B29-C3" + }, + { + "lpbca": 28, + "branch": 29, + "class": 4, + "linearIndex": 5722, + "address": "0x9FFD53Db887D3f3F50CfC7dA9889B639Ae6e392F", + "cellId": "EI-L28-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B29-C4" + }, + { + "lpbca": 28, + "branch": 29, + "class": 5, + "linearIndex": 5723, + "address": "0x06411B74275897Fe2eEedcF60584F4b22a02F350", + "cellId": "EI-L28-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B29-C5" + }, + { + "lpbca": 28, + "branch": 30, + "class": 0, + "linearIndex": 5724, + "address": "0x97daa58D5CB10436c4AcdF970800C1c13730Beb4", + "cellId": "EI-L28-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B30-C0" + }, + { + "lpbca": 28, + "branch": 30, + "class": 1, + "linearIndex": 5725, + "address": "0xD95b7A1EF164C16197f2869DeaE2b443075E8fCF", + "cellId": "EI-L28-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B30-C1" + }, + { + "lpbca": 28, + "branch": 30, + "class": 2, + "linearIndex": 5726, + "address": "0x4BF3B7ED930C70A13d9f21171812B5C17626CB1A", + "cellId": "EI-L28-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B30-C2" + }, + { + "lpbca": 28, + "branch": 30, + "class": 3, + "linearIndex": 5727, + "address": "0xEFa7cAC005b2bB0A21Aa9BAD1Bf98f059bB01292", + "cellId": "EI-L28-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B30-C3" + }, + { + "lpbca": 28, + "branch": 30, + "class": 4, + "linearIndex": 5728, + "address": "0xc48807a8C4Def66FD608E3beEa94E9E6B2DCA1E7", + "cellId": "EI-L28-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B30-C4" + }, + { + "lpbca": 28, + "branch": 30, + "class": 5, + "linearIndex": 5729, + "address": "0x416944Fa57170d20eBD8D8DbA4175704CeB8eeBc", + "cellId": "EI-L28-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B30-C5" + }, + { + "lpbca": 28, + "branch": 31, + "class": 0, + "linearIndex": 5730, + "address": "0x21952d69548FdddfEE83029f3c9367AfC75B1537", + "cellId": "EI-L28-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B31-C0" + }, + { + "lpbca": 28, + "branch": 31, + "class": 1, + "linearIndex": 5731, + "address": "0xc13cCF0f034D1b9574b67daf47d1E4Cd082c8cD4", + "cellId": "EI-L28-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B31-C1" + }, + { + "lpbca": 28, + "branch": 31, + "class": 2, + "linearIndex": 5732, + "address": "0xC3234345ab2cF078B9265B39b4F93876176Fd3AA", + "cellId": "EI-L28-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B31-C2" + }, + { + "lpbca": 28, + "branch": 31, + "class": 3, + "linearIndex": 5733, + "address": "0xCA0A51BBcBB147f7d0d420F03Ef60CC11B0b04f5", + "cellId": "EI-L28-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B31-C3" + }, + { + "lpbca": 28, + "branch": 31, + "class": 4, + "linearIndex": 5734, + "address": "0x979f1f5060cB8B880f17B8222912Bd45dcEd0Ae8", + "cellId": "EI-L28-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B31-C4" + }, + { + "lpbca": 28, + "branch": 31, + "class": 5, + "linearIndex": 5735, + "address": "0xbd79a04C180f8f1fFa579860c7E0a81052e7bC8B", + "cellId": "EI-L28-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B31-C5" + }, + { + "lpbca": 28, + "branch": 32, + "class": 0, + "linearIndex": 5736, + "address": "0xBCC69DABa61079Af2a1bdEb0a1E0F067C5a31771", + "cellId": "EI-L28-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B32-C0" + }, + { + "lpbca": 28, + "branch": 32, + "class": 1, + "linearIndex": 5737, + "address": "0xC1A2259FfAd6D7f4EC61f3929892dCBb390a137e", + "cellId": "EI-L28-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B32-C1" + }, + { + "lpbca": 28, + "branch": 32, + "class": 2, + "linearIndex": 5738, + "address": "0xCFDC35353414bbB9C1C03b76A8325c8731b66DAb", + "cellId": "EI-L28-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B32-C2" + }, + { + "lpbca": 28, + "branch": 32, + "class": 3, + "linearIndex": 5739, + "address": "0x27Cd47e56475882547D9a8AbfB5381B3d471D4ed", + "cellId": "EI-L28-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B32-C3" + }, + { + "lpbca": 28, + "branch": 32, + "class": 4, + "linearIndex": 5740, + "address": "0x62E8EeA225Ac7668a359db685e54D9AAb6dC7a15", + "cellId": "EI-L28-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B32-C4" + }, + { + "lpbca": 28, + "branch": 32, + "class": 5, + "linearIndex": 5741, + "address": "0xA082bD7D4aFf3FA4C61B8D394D374D7d3d26A2aA", + "cellId": "EI-L28-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L28-B32-C5" + }, + { + "lpbca": 29, + "branch": 0, + "class": 0, + "linearIndex": 5742, + "address": "0x468dD654AF8099bC2569Dfff6E0eaA726FEaB74E", + "cellId": "EI-L29-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B00-C0" + }, + { + "lpbca": 29, + "branch": 0, + "class": 1, + "linearIndex": 5743, + "address": "0xC64490eCe89a569074365F02a999f3001A687221", + "cellId": "EI-L29-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B00-C1" + }, + { + "lpbca": 29, + "branch": 0, + "class": 2, + "linearIndex": 5744, + "address": "0xB7ca298d8D2e7846e97946Ef68904A672f645eEB", + "cellId": "EI-L29-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B00-C2" + }, + { + "lpbca": 29, + "branch": 0, + "class": 3, + "linearIndex": 5745, + "address": "0x830c15B49763eD735B9e6dAC57Fe3E2fbE36C94F", + "cellId": "EI-L29-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B00-C3" + }, + { + "lpbca": 29, + "branch": 0, + "class": 4, + "linearIndex": 5746, + "address": "0x5186fdba54dEE19b889DCcC1eeD1A32414533979", + "cellId": "EI-L29-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B00-C4" + }, + { + "lpbca": 29, + "branch": 0, + "class": 5, + "linearIndex": 5747, + "address": "0x5b687b1790215f7094E133a6997D05D2F2c93e62", + "cellId": "EI-L29-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B00-C5" + }, + { + "lpbca": 29, + "branch": 1, + "class": 0, + "linearIndex": 5748, + "address": "0x38A8c50C47422D372dB8717a731a387025a5253a", + "cellId": "EI-L29-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B01-C0" + }, + { + "lpbca": 29, + "branch": 1, + "class": 1, + "linearIndex": 5749, + "address": "0x05fcE1238b3fa2c5c7B39e81c463859c4Ab8639D", + "cellId": "EI-L29-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B01-C1" + }, + { + "lpbca": 29, + "branch": 1, + "class": 2, + "linearIndex": 5750, + "address": "0x9D3CD5e272998BdA59ba3EDf1742E0f5A4f29F41", + "cellId": "EI-L29-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B01-C2" + }, + { + "lpbca": 29, + "branch": 1, + "class": 3, + "linearIndex": 5751, + "address": "0x9C487F003bcF9eE5f7E5042D0F4d0A2641D99e54", + "cellId": "EI-L29-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B01-C3" + }, + { + "lpbca": 29, + "branch": 1, + "class": 4, + "linearIndex": 5752, + "address": "0xCBB098c69fEfcF5654cDEF8Dc2f10039717B44FF", + "cellId": "EI-L29-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B01-C4" + }, + { + "lpbca": 29, + "branch": 1, + "class": 5, + "linearIndex": 5753, + "address": "0xf5bF856164aa786469037b451914Ad5100AEDe36", + "cellId": "EI-L29-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B01-C5" + }, + { + "lpbca": 29, + "branch": 2, + "class": 0, + "linearIndex": 5754, + "address": "0x68cD363a3DE17b5160d8cA1E89d74EEc168D217c", + "cellId": "EI-L29-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B02-C0" + }, + { + "lpbca": 29, + "branch": 2, + "class": 1, + "linearIndex": 5755, + "address": "0xc287c4ca44436b81B233aeE30dA374961e6e821b", + "cellId": "EI-L29-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B02-C1" + }, + { + "lpbca": 29, + "branch": 2, + "class": 2, + "linearIndex": 5756, + "address": "0xdE39AdEa3E196a5d78Eebfd2294bAc20216a9a64", + "cellId": "EI-L29-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B02-C2" + }, + { + "lpbca": 29, + "branch": 2, + "class": 3, + "linearIndex": 5757, + "address": "0x5e833a7C16eE5567128eeabdC9fc838A18D835c6", + "cellId": "EI-L29-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B02-C3" + }, + { + "lpbca": 29, + "branch": 2, + "class": 4, + "linearIndex": 5758, + "address": "0xc9a702D817d016b6Cc752b71014DBe2EF8956d8d", + "cellId": "EI-L29-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B02-C4" + }, + { + "lpbca": 29, + "branch": 2, + "class": 5, + "linearIndex": 5759, + "address": "0x773BF6A85CF30703c88e574B4DE26B0C69012e0B", + "cellId": "EI-L29-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B02-C5" + }, + { + "lpbca": 29, + "branch": 3, + "class": 0, + "linearIndex": 5760, + "address": "0x9503332D18a9e1c8E03C5e466AFb484c49Dd3871", + "cellId": "EI-L29-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B03-C0" + }, + { + "lpbca": 29, + "branch": 3, + "class": 1, + "linearIndex": 5761, + "address": "0xA4d637B408c2cdCad505d224c978E6494Dd8b45b", + "cellId": "EI-L29-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B03-C1" + }, + { + "lpbca": 29, + "branch": 3, + "class": 2, + "linearIndex": 5762, + "address": "0x1D006BAaf7863bc5c6427a26Bb22ecd7A2C79Bb5", + "cellId": "EI-L29-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B03-C2" + }, + { + "lpbca": 29, + "branch": 3, + "class": 3, + "linearIndex": 5763, + "address": "0x86C29cF7A0B3c11Ecb9dD5b7BA52e6546d0973fc", + "cellId": "EI-L29-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B03-C3" + }, + { + "lpbca": 29, + "branch": 3, + "class": 4, + "linearIndex": 5764, + "address": "0x9c6B2A01862b8bd63c74261373674c92bD2EE1FB", + "cellId": "EI-L29-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B03-C4" + }, + { + "lpbca": 29, + "branch": 3, + "class": 5, + "linearIndex": 5765, + "address": "0x7B6a1855A06Ae05553AAe61A81e7F6680C678f3D", + "cellId": "EI-L29-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B03-C5" + }, + { + "lpbca": 29, + "branch": 4, + "class": 0, + "linearIndex": 5766, + "address": "0x601de98696b5BEf3FC1ae5B8D485d2786F19fcF5", + "cellId": "EI-L29-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B04-C0" + }, + { + "lpbca": 29, + "branch": 4, + "class": 1, + "linearIndex": 5767, + "address": "0x71Dc88cb696Ae1079c309F0B369333109Ba70324", + "cellId": "EI-L29-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B04-C1" + }, + { + "lpbca": 29, + "branch": 4, + "class": 2, + "linearIndex": 5768, + "address": "0x58E7F239Ce94a171C321fb2559c10B7a59a3b54A", + "cellId": "EI-L29-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B04-C2" + }, + { + "lpbca": 29, + "branch": 4, + "class": 3, + "linearIndex": 5769, + "address": "0x81F56098bf13E570b6C6d768166ca5360df4c9B4", + "cellId": "EI-L29-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B04-C3" + }, + { + "lpbca": 29, + "branch": 4, + "class": 4, + "linearIndex": 5770, + "address": "0x1029dCDe05e906220038205570aA5ad11B755421", + "cellId": "EI-L29-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B04-C4" + }, + { + "lpbca": 29, + "branch": 4, + "class": 5, + "linearIndex": 5771, + "address": "0x0ce3b63DF5f196b6Fb7A20155418B14d7D1ba334", + "cellId": "EI-L29-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B04-C5" + }, + { + "lpbca": 29, + "branch": 5, + "class": 0, + "linearIndex": 5772, + "address": "0x139f7ce23e675f31AB566650B2676AaB054D59F5", + "cellId": "EI-L29-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B05-C0" + }, + { + "lpbca": 29, + "branch": 5, + "class": 1, + "linearIndex": 5773, + "address": "0xbb409C80588791B24662b23EB983598D774749AA", + "cellId": "EI-L29-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B05-C1" + }, + { + "lpbca": 29, + "branch": 5, + "class": 2, + "linearIndex": 5774, + "address": "0x949e39e5aa08C83BE0f9a6298ba58c2246FF6c2E", + "cellId": "EI-L29-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B05-C2" + }, + { + "lpbca": 29, + "branch": 5, + "class": 3, + "linearIndex": 5775, + "address": "0x48cFe880d5e29c0E8213Cf526344bb75bFA17Ddd", + "cellId": "EI-L29-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B05-C3" + }, + { + "lpbca": 29, + "branch": 5, + "class": 4, + "linearIndex": 5776, + "address": "0x22AAcB0d2eF1cFfE3D1B885e2E3310E00FE7a7f0", + "cellId": "EI-L29-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B05-C4" + }, + { + "lpbca": 29, + "branch": 5, + "class": 5, + "linearIndex": 5777, + "address": "0xB2c6ED32e578e43495EA0Dd9B920071e82A56968", + "cellId": "EI-L29-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B05-C5" + }, + { + "lpbca": 29, + "branch": 6, + "class": 0, + "linearIndex": 5778, + "address": "0x16F8FE8C69A96e73B4e50dacCe8Ca756a0D2A76e", + "cellId": "EI-L29-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B06-C0" + }, + { + "lpbca": 29, + "branch": 6, + "class": 1, + "linearIndex": 5779, + "address": "0x8Aa8Ae49cCEa2483701f48CfF554e476D3abfb73", + "cellId": "EI-L29-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B06-C1" + }, + { + "lpbca": 29, + "branch": 6, + "class": 2, + "linearIndex": 5780, + "address": "0xaF4601182c434F2FfEB9dB23D2590fD13Cad8419", + "cellId": "EI-L29-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B06-C2" + }, + { + "lpbca": 29, + "branch": 6, + "class": 3, + "linearIndex": 5781, + "address": "0x9BfBF2B61EcafCa9af6E5a3Cd7F62A43FB1D40eB", + "cellId": "EI-L29-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B06-C3" + }, + { + "lpbca": 29, + "branch": 6, + "class": 4, + "linearIndex": 5782, + "address": "0x6cf99611EA12924EBa797352F08637b9DB2b08Bb", + "cellId": "EI-L29-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B06-C4" + }, + { + "lpbca": 29, + "branch": 6, + "class": 5, + "linearIndex": 5783, + "address": "0x23fA3192f501024c71b9E8529E8291b24d3Ebe88", + "cellId": "EI-L29-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B06-C5" + }, + { + "lpbca": 29, + "branch": 7, + "class": 0, + "linearIndex": 5784, + "address": "0xC7A6225191867E9Aa01d5500Eb919c80126e1E44", + "cellId": "EI-L29-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B07-C0" + }, + { + "lpbca": 29, + "branch": 7, + "class": 1, + "linearIndex": 5785, + "address": "0xba7dDf67e8CB8019eF1B5e82E5bDD8f9ec8f450f", + "cellId": "EI-L29-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B07-C1" + }, + { + "lpbca": 29, + "branch": 7, + "class": 2, + "linearIndex": 5786, + "address": "0x84921fEcD038BcC304D8D3d2a7f600aDcD717dE4", + "cellId": "EI-L29-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B07-C2" + }, + { + "lpbca": 29, + "branch": 7, + "class": 3, + "linearIndex": 5787, + "address": "0x3d37c1549eb589377ADaF4B3d668B21223f9be65", + "cellId": "EI-L29-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B07-C3" + }, + { + "lpbca": 29, + "branch": 7, + "class": 4, + "linearIndex": 5788, + "address": "0x6b3a07193Eb2e8e699496B01181E69991A1468FD", + "cellId": "EI-L29-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B07-C4" + }, + { + "lpbca": 29, + "branch": 7, + "class": 5, + "linearIndex": 5789, + "address": "0xA97e8DACF132eCD1F4EC2C2631787882Ad435479", + "cellId": "EI-L29-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B07-C5" + }, + { + "lpbca": 29, + "branch": 8, + "class": 0, + "linearIndex": 5790, + "address": "0xc6244B46BDbF34EF445192FccE85721c3b2503b4", + "cellId": "EI-L29-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B08-C0" + }, + { + "lpbca": 29, + "branch": 8, + "class": 1, + "linearIndex": 5791, + "address": "0xbF6AaCB1A2D635071ea35298DAE138b0C5922952", + "cellId": "EI-L29-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B08-C1" + }, + { + "lpbca": 29, + "branch": 8, + "class": 2, + "linearIndex": 5792, + "address": "0x363768939B3a1937aA55e6A9A9881197fABab464", + "cellId": "EI-L29-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B08-C2" + }, + { + "lpbca": 29, + "branch": 8, + "class": 3, + "linearIndex": 5793, + "address": "0x3c56bab62F04A55D116096C2A6240EC32C4Dd064", + "cellId": "EI-L29-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B08-C3" + }, + { + "lpbca": 29, + "branch": 8, + "class": 4, + "linearIndex": 5794, + "address": "0x784e70aE03b7DCC7Ac3833629eCBA937a39Fe31E", + "cellId": "EI-L29-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B08-C4" + }, + { + "lpbca": 29, + "branch": 8, + "class": 5, + "linearIndex": 5795, + "address": "0x1bbB8605C2627eaB75401641c6237F43E73baaA6", + "cellId": "EI-L29-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B08-C5" + }, + { + "lpbca": 29, + "branch": 9, + "class": 0, + "linearIndex": 5796, + "address": "0x350fAAB17240Ce0690e5234136Df1A148F1ac42C", + "cellId": "EI-L29-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B09-C0" + }, + { + "lpbca": 29, + "branch": 9, + "class": 1, + "linearIndex": 5797, + "address": "0xC6eFfFAFD7fb8C74D96a737344EDE36D5db0D02c", + "cellId": "EI-L29-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B09-C1" + }, + { + "lpbca": 29, + "branch": 9, + "class": 2, + "linearIndex": 5798, + "address": "0x99E0878854C98a73d7faD9440df23A959FFF82DC", + "cellId": "EI-L29-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B09-C2" + }, + { + "lpbca": 29, + "branch": 9, + "class": 3, + "linearIndex": 5799, + "address": "0x31C95E22Cd6DB00Cdd6f5B6f6B1fAFc8D9A18fF3", + "cellId": "EI-L29-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B09-C3" + }, + { + "lpbca": 29, + "branch": 9, + "class": 4, + "linearIndex": 5800, + "address": "0x71169d089834bDAc448bACA7791724A18B2FACaA", + "cellId": "EI-L29-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B09-C4" + }, + { + "lpbca": 29, + "branch": 9, + "class": 5, + "linearIndex": 5801, + "address": "0x916EBc7650c00CEC15e68Bd831b36E563a0eC15f", + "cellId": "EI-L29-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B09-C5" + }, + { + "lpbca": 29, + "branch": 10, + "class": 0, + "linearIndex": 5802, + "address": "0xb537683e58a687b3C58039Cfc65db9BF1E7DDCd5", + "cellId": "EI-L29-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B10-C0" + }, + { + "lpbca": 29, + "branch": 10, + "class": 1, + "linearIndex": 5803, + "address": "0x27cbA8c73d47Da55A79fe6d55103A52F3338e6CF", + "cellId": "EI-L29-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B10-C1" + }, + { + "lpbca": 29, + "branch": 10, + "class": 2, + "linearIndex": 5804, + "address": "0xa4654d39d1E6665A5554933507f418862505489E", + "cellId": "EI-L29-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B10-C2" + }, + { + "lpbca": 29, + "branch": 10, + "class": 3, + "linearIndex": 5805, + "address": "0x7b86a04774cd74a890d489bB92Cd3752F9bCE086", + "cellId": "EI-L29-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B10-C3" + }, + { + "lpbca": 29, + "branch": 10, + "class": 4, + "linearIndex": 5806, + "address": "0x601319AD1381C1df59899aCD459486923222d600", + "cellId": "EI-L29-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B10-C4" + }, + { + "lpbca": 29, + "branch": 10, + "class": 5, + "linearIndex": 5807, + "address": "0xf552330B5655ef534856C1ceCa51d258392035e2", + "cellId": "EI-L29-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B10-C5" + }, + { + "lpbca": 29, + "branch": 11, + "class": 0, + "linearIndex": 5808, + "address": "0x8abe66BC3A2ec3513A2bAe3ACB30284B4fd9760c", + "cellId": "EI-L29-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B11-C0" + }, + { + "lpbca": 29, + "branch": 11, + "class": 1, + "linearIndex": 5809, + "address": "0xa0311598f612decA00970b1e814aB9A0E7e4FFd8", + "cellId": "EI-L29-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B11-C1" + }, + { + "lpbca": 29, + "branch": 11, + "class": 2, + "linearIndex": 5810, + "address": "0x9BD71A0EA19B350Ef6509Ba5496c0481c97CD8DB", + "cellId": "EI-L29-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B11-C2" + }, + { + "lpbca": 29, + "branch": 11, + "class": 3, + "linearIndex": 5811, + "address": "0xb8Da2DeF1bc5599d6162243f6FAb508367a4fc3a", + "cellId": "EI-L29-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B11-C3" + }, + { + "lpbca": 29, + "branch": 11, + "class": 4, + "linearIndex": 5812, + "address": "0x7Bf474cFb29cff6b24780d95510e3d54197Fb654", + "cellId": "EI-L29-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B11-C4" + }, + { + "lpbca": 29, + "branch": 11, + "class": 5, + "linearIndex": 5813, + "address": "0x41122021a6Ada2ed16039Eb5417750aFF7816391", + "cellId": "EI-L29-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B11-C5" + }, + { + "lpbca": 29, + "branch": 12, + "class": 0, + "linearIndex": 5814, + "address": "0xD7BA319A01099CEf7A42aa8632d174aF8838f50c", + "cellId": "EI-L29-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B12-C0" + }, + { + "lpbca": 29, + "branch": 12, + "class": 1, + "linearIndex": 5815, + "address": "0xa60A8F87F112508FB79D7B45de23f0aBA5db6959", + "cellId": "EI-L29-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B12-C1" + }, + { + "lpbca": 29, + "branch": 12, + "class": 2, + "linearIndex": 5816, + "address": "0x7360293D567423258767DcE18f1Ea8550B00fBe4", + "cellId": "EI-L29-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B12-C2" + }, + { + "lpbca": 29, + "branch": 12, + "class": 3, + "linearIndex": 5817, + "address": "0x935Cc91ee20f3FBD5dad89cEd43E92B13775671A", + "cellId": "EI-L29-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B12-C3" + }, + { + "lpbca": 29, + "branch": 12, + "class": 4, + "linearIndex": 5818, + "address": "0xEFd5dC5D71330da32cAc4ed4c7712490623E8557", + "cellId": "EI-L29-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B12-C4" + }, + { + "lpbca": 29, + "branch": 12, + "class": 5, + "linearIndex": 5819, + "address": "0x497ddb6275E37dE67624ED86d9976864339946c6", + "cellId": "EI-L29-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B12-C5" + }, + { + "lpbca": 29, + "branch": 13, + "class": 0, + "linearIndex": 5820, + "address": "0xeB45069B63b171362b7C7aDcE0A279aE6eC8Cf86", + "cellId": "EI-L29-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B13-C0" + }, + { + "lpbca": 29, + "branch": 13, + "class": 1, + "linearIndex": 5821, + "address": "0x945484ac96fe16223608Db8A3aEfC104b91f1aF3", + "cellId": "EI-L29-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B13-C1" + }, + { + "lpbca": 29, + "branch": 13, + "class": 2, + "linearIndex": 5822, + "address": "0x9385388d43C40C6b95154ED08731CE4a24C4bdA8", + "cellId": "EI-L29-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B13-C2" + }, + { + "lpbca": 29, + "branch": 13, + "class": 3, + "linearIndex": 5823, + "address": "0xF1a8E7c3f616ccb31f1eBA40a32Cd27Bc185235C", + "cellId": "EI-L29-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B13-C3" + }, + { + "lpbca": 29, + "branch": 13, + "class": 4, + "linearIndex": 5824, + "address": "0x7b1190fC3137c7C8fA7815932b19e755b4441159", + "cellId": "EI-L29-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B13-C4" + }, + { + "lpbca": 29, + "branch": 13, + "class": 5, + "linearIndex": 5825, + "address": "0x30Fa56cD455f53bD1Bb3e6630d31FF86A5D96F65", + "cellId": "EI-L29-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B13-C5" + }, + { + "lpbca": 29, + "branch": 14, + "class": 0, + "linearIndex": 5826, + "address": "0x49BE5b96fEa0Db500C097F2963D3D355Ffa30e4c", + "cellId": "EI-L29-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B14-C0" + }, + { + "lpbca": 29, + "branch": 14, + "class": 1, + "linearIndex": 5827, + "address": "0x4B9Bbd5C3c840343998E345A30445998de5DEC2d", + "cellId": "EI-L29-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B14-C1" + }, + { + "lpbca": 29, + "branch": 14, + "class": 2, + "linearIndex": 5828, + "address": "0xE100eB5B3B75aa1FBb833961239aE50C308E7A98", + "cellId": "EI-L29-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B14-C2" + }, + { + "lpbca": 29, + "branch": 14, + "class": 3, + "linearIndex": 5829, + "address": "0xAFcd4B14A4d047e28277220dcBF06AF6f1C16877", + "cellId": "EI-L29-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B14-C3" + }, + { + "lpbca": 29, + "branch": 14, + "class": 4, + "linearIndex": 5830, + "address": "0x2863e19C79F6f10D8Be3b208B1B524B9EB8c7BA8", + "cellId": "EI-L29-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B14-C4" + }, + { + "lpbca": 29, + "branch": 14, + "class": 5, + "linearIndex": 5831, + "address": "0xf68aB9BdDE3dc703eB9f0Fe42D5e2684F9EF9Cf9", + "cellId": "EI-L29-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B14-C5" + }, + { + "lpbca": 29, + "branch": 15, + "class": 0, + "linearIndex": 5832, + "address": "0xC6Ad5e134BfCc2C0A0698069219d11a770F92f41", + "cellId": "EI-L29-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B15-C0" + }, + { + "lpbca": 29, + "branch": 15, + "class": 1, + "linearIndex": 5833, + "address": "0x2A45B5F02134D2D3c292068890aEA38Fe466d771", + "cellId": "EI-L29-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B15-C1" + }, + { + "lpbca": 29, + "branch": 15, + "class": 2, + "linearIndex": 5834, + "address": "0xe3De7998CC5330053dD01598Fde014D17c57aEe5", + "cellId": "EI-L29-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B15-C2" + }, + { + "lpbca": 29, + "branch": 15, + "class": 3, + "linearIndex": 5835, + "address": "0xc26Ca359380167607B6Aee496374d3e24cCAE682", + "cellId": "EI-L29-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B15-C3" + }, + { + "lpbca": 29, + "branch": 15, + "class": 4, + "linearIndex": 5836, + "address": "0x616206e30efEf3104C078F2BF1D1a5189Be099D6", + "cellId": "EI-L29-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B15-C4" + }, + { + "lpbca": 29, + "branch": 15, + "class": 5, + "linearIndex": 5837, + "address": "0x424a9c8Ada1B5776457B9495Af859d9afdd5F471", + "cellId": "EI-L29-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B15-C5" + }, + { + "lpbca": 29, + "branch": 16, + "class": 0, + "linearIndex": 5838, + "address": "0xb5234C80A7e0E9d32546c31be7c1901A547f341D", + "cellId": "EI-L29-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B16-C0" + }, + { + "lpbca": 29, + "branch": 16, + "class": 1, + "linearIndex": 5839, + "address": "0xB94f492864A3e3ed46108416d40Ea33f58137967", + "cellId": "EI-L29-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B16-C1" + }, + { + "lpbca": 29, + "branch": 16, + "class": 2, + "linearIndex": 5840, + "address": "0x4fA6fc68f63a5D2CAd99e78304Bc4d091AB57559", + "cellId": "EI-L29-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B16-C2" + }, + { + "lpbca": 29, + "branch": 16, + "class": 3, + "linearIndex": 5841, + "address": "0xB5c162cda779e7Cf56C93333edC8C17B98A5390e", + "cellId": "EI-L29-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B16-C3" + }, + { + "lpbca": 29, + "branch": 16, + "class": 4, + "linearIndex": 5842, + "address": "0x6970Ccf9FF48675287f0b7Dd867fa270FD696140", + "cellId": "EI-L29-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B16-C4" + }, + { + "lpbca": 29, + "branch": 16, + "class": 5, + "linearIndex": 5843, + "address": "0x49417fab8054F517aD170a419a47Cc4E57235c40", + "cellId": "EI-L29-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B16-C5" + }, + { + "lpbca": 29, + "branch": 17, + "class": 0, + "linearIndex": 5844, + "address": "0xd9982b9cDCc7771B7043fe9a5d2b289b952de79F", + "cellId": "EI-L29-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B17-C0" + }, + { + "lpbca": 29, + "branch": 17, + "class": 1, + "linearIndex": 5845, + "address": "0x26A439E85aE2eb40623893db705C0107fB2bAdD9", + "cellId": "EI-L29-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B17-C1" + }, + { + "lpbca": 29, + "branch": 17, + "class": 2, + "linearIndex": 5846, + "address": "0x838D8d33A533CA9b58c4fC1BE4Ab3BFBAF64A2dc", + "cellId": "EI-L29-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B17-C2" + }, + { + "lpbca": 29, + "branch": 17, + "class": 3, + "linearIndex": 5847, + "address": "0x7Ecd8c318139072A7A211F3499deeEF6f4d8b205", + "cellId": "EI-L29-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B17-C3" + }, + { + "lpbca": 29, + "branch": 17, + "class": 4, + "linearIndex": 5848, + "address": "0xAeAf43B94F2a283Da4421bD8227Efc230Ba539e3", + "cellId": "EI-L29-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B17-C4" + }, + { + "lpbca": 29, + "branch": 17, + "class": 5, + "linearIndex": 5849, + "address": "0x14153E26bECa06428b812974E56bd8b93206aa40", + "cellId": "EI-L29-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B17-C5" + }, + { + "lpbca": 29, + "branch": 18, + "class": 0, + "linearIndex": 5850, + "address": "0x5c2198422202B3a397DeF4a9dAc85E5522270D43", + "cellId": "EI-L29-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B18-C0" + }, + { + "lpbca": 29, + "branch": 18, + "class": 1, + "linearIndex": 5851, + "address": "0xCdF6eCcd4eB02dBA256B68b1aE02Caee81de966f", + "cellId": "EI-L29-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B18-C1" + }, + { + "lpbca": 29, + "branch": 18, + "class": 2, + "linearIndex": 5852, + "address": "0x89f2B82f8fAC46F566db878b6129544C74BF18B9", + "cellId": "EI-L29-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B18-C2" + }, + { + "lpbca": 29, + "branch": 18, + "class": 3, + "linearIndex": 5853, + "address": "0xD8b438fFdbD691C115cF12402A5E94c2BD9c5B3B", + "cellId": "EI-L29-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B18-C3" + }, + { + "lpbca": 29, + "branch": 18, + "class": 4, + "linearIndex": 5854, + "address": "0x32ED0E8C6d772457C6fd22dC95CECD43Dc1B2A3f", + "cellId": "EI-L29-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B18-C4" + }, + { + "lpbca": 29, + "branch": 18, + "class": 5, + "linearIndex": 5855, + "address": "0x5Db794Cd8ef387698AF9f5198089976F7C2af3Ad", + "cellId": "EI-L29-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B18-C5" + }, + { + "lpbca": 29, + "branch": 19, + "class": 0, + "linearIndex": 5856, + "address": "0xA2D079EcabBA1Bd844F9e76612e6248189B9BFAE", + "cellId": "EI-L29-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B19-C0" + }, + { + "lpbca": 29, + "branch": 19, + "class": 1, + "linearIndex": 5857, + "address": "0x2e1C1F822071bA47ce200C0f69D76eF7E2CA6F3F", + "cellId": "EI-L29-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B19-C1" + }, + { + "lpbca": 29, + "branch": 19, + "class": 2, + "linearIndex": 5858, + "address": "0x50FFedde479F689c8DB3228aba3f28D78484dCA9", + "cellId": "EI-L29-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B19-C2" + }, + { + "lpbca": 29, + "branch": 19, + "class": 3, + "linearIndex": 5859, + "address": "0xc017242c2f03f7D618e74C24B26F73ACAFF56053", + "cellId": "EI-L29-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B19-C3" + }, + { + "lpbca": 29, + "branch": 19, + "class": 4, + "linearIndex": 5860, + "address": "0x33eb6f3274CA644C602204eAbD5445478BC17aCd", + "cellId": "EI-L29-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B19-C4" + }, + { + "lpbca": 29, + "branch": 19, + "class": 5, + "linearIndex": 5861, + "address": "0xCC9edfE4b3431637553d8C775813413e24F86697", + "cellId": "EI-L29-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B19-C5" + }, + { + "lpbca": 29, + "branch": 20, + "class": 0, + "linearIndex": 5862, + "address": "0xf9995F24Fa541bCb0c706e88f0c30BEeEce96E9F", + "cellId": "EI-L29-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B20-C0" + }, + { + "lpbca": 29, + "branch": 20, + "class": 1, + "linearIndex": 5863, + "address": "0x244780Fa3e84FD5e35AcFfa3fE76D2D965200626", + "cellId": "EI-L29-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B20-C1" + }, + { + "lpbca": 29, + "branch": 20, + "class": 2, + "linearIndex": 5864, + "address": "0xA7C7B661207Ed8AEfC07E389425c5086B6FDa356", + "cellId": "EI-L29-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B20-C2" + }, + { + "lpbca": 29, + "branch": 20, + "class": 3, + "linearIndex": 5865, + "address": "0xA971F8e0Cc3a54c0963457bD244371A8E3E27085", + "cellId": "EI-L29-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B20-C3" + }, + { + "lpbca": 29, + "branch": 20, + "class": 4, + "linearIndex": 5866, + "address": "0xDe029428a257eA22fd5172a96428A44752953f2e", + "cellId": "EI-L29-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B20-C4" + }, + { + "lpbca": 29, + "branch": 20, + "class": 5, + "linearIndex": 5867, + "address": "0xF0882CC0b200E3d6d5ACbB1296f8E579F28CD112", + "cellId": "EI-L29-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B20-C5" + }, + { + "lpbca": 29, + "branch": 21, + "class": 0, + "linearIndex": 5868, + "address": "0xa8d6CbD2D72616C0bba5821F548C62dAcECE04fA", + "cellId": "EI-L29-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B21-C0" + }, + { + "lpbca": 29, + "branch": 21, + "class": 1, + "linearIndex": 5869, + "address": "0x4D15D31b239E0Cc224b3486cD02377E8470F62D6", + "cellId": "EI-L29-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B21-C1" + }, + { + "lpbca": 29, + "branch": 21, + "class": 2, + "linearIndex": 5870, + "address": "0x4c5ea1E35C58560214F7f4161E1ce141086f138c", + "cellId": "EI-L29-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B21-C2" + }, + { + "lpbca": 29, + "branch": 21, + "class": 3, + "linearIndex": 5871, + "address": "0x17e35Aada5659255dd2c6859F6f83E226BCA345E", + "cellId": "EI-L29-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B21-C3" + }, + { + "lpbca": 29, + "branch": 21, + "class": 4, + "linearIndex": 5872, + "address": "0xEB4c9fa4B159A6A83A4E39c72F4851D1498786A5", + "cellId": "EI-L29-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B21-C4" + }, + { + "lpbca": 29, + "branch": 21, + "class": 5, + "linearIndex": 5873, + "address": "0xFa3AFbED581d68C782D98F33ebAA85F6872e9690", + "cellId": "EI-L29-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B21-C5" + }, + { + "lpbca": 29, + "branch": 22, + "class": 0, + "linearIndex": 5874, + "address": "0xA9e3fa4f262A617362E0664375F238c97E0b70de", + "cellId": "EI-L29-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B22-C0" + }, + { + "lpbca": 29, + "branch": 22, + "class": 1, + "linearIndex": 5875, + "address": "0x9a0D2d8Cd466b4F82d219F8d957448C5818992e8", + "cellId": "EI-L29-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B22-C1" + }, + { + "lpbca": 29, + "branch": 22, + "class": 2, + "linearIndex": 5876, + "address": "0xA8D3f64465BA68623a292fF17872f7FEC2071359", + "cellId": "EI-L29-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B22-C2" + }, + { + "lpbca": 29, + "branch": 22, + "class": 3, + "linearIndex": 5877, + "address": "0x89FbC5F61853B660B5C38E54b26a0CbFCB5d5b30", + "cellId": "EI-L29-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B22-C3" + }, + { + "lpbca": 29, + "branch": 22, + "class": 4, + "linearIndex": 5878, + "address": "0xe9a489d1D376b520AF132592bA229d48Cd25Dcae", + "cellId": "EI-L29-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B22-C4" + }, + { + "lpbca": 29, + "branch": 22, + "class": 5, + "linearIndex": 5879, + "address": "0xc1ce0b4b78152A3142eFD963B8e132ba4446dCaE", + "cellId": "EI-L29-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B22-C5" + }, + { + "lpbca": 29, + "branch": 23, + "class": 0, + "linearIndex": 5880, + "address": "0x9B1bf5310C21F63C126a7821F33986D79A9aB3a9", + "cellId": "EI-L29-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B23-C0" + }, + { + "lpbca": 29, + "branch": 23, + "class": 1, + "linearIndex": 5881, + "address": "0xd4452Fb6dAAADb424cDE26b9AF9c44c7575e5AfA", + "cellId": "EI-L29-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B23-C1" + }, + { + "lpbca": 29, + "branch": 23, + "class": 2, + "linearIndex": 5882, + "address": "0xE321f2F9296679BaeA661e51d48C003801976993", + "cellId": "EI-L29-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B23-C2" + }, + { + "lpbca": 29, + "branch": 23, + "class": 3, + "linearIndex": 5883, + "address": "0xb6b413C0Dd97dAa3e7618c54E0C9F738bA338260", + "cellId": "EI-L29-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B23-C3" + }, + { + "lpbca": 29, + "branch": 23, + "class": 4, + "linearIndex": 5884, + "address": "0x342E4FA03a848D644dd92f15dD8d1DD0646EDF93", + "cellId": "EI-L29-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B23-C4" + }, + { + "lpbca": 29, + "branch": 23, + "class": 5, + "linearIndex": 5885, + "address": "0x1AaFEA9EcfeaCA7dde2d421C7F6C5345AbC2deee", + "cellId": "EI-L29-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B23-C5" + }, + { + "lpbca": 29, + "branch": 24, + "class": 0, + "linearIndex": 5886, + "address": "0x1C0DD4A43978976fAF44972B2834b295675774b2", + "cellId": "EI-L29-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B24-C0" + }, + { + "lpbca": 29, + "branch": 24, + "class": 1, + "linearIndex": 5887, + "address": "0xa91Ce9B40696FD7801ac84734c3771BA058bd89c", + "cellId": "EI-L29-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B24-C1" + }, + { + "lpbca": 29, + "branch": 24, + "class": 2, + "linearIndex": 5888, + "address": "0x9D975F12f83D77e4D3c8eB0c5D50c1F92429614c", + "cellId": "EI-L29-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B24-C2" + }, + { + "lpbca": 29, + "branch": 24, + "class": 3, + "linearIndex": 5889, + "address": "0xEe10A3660752388cd861348881726c29518E7Be0", + "cellId": "EI-L29-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B24-C3" + }, + { + "lpbca": 29, + "branch": 24, + "class": 4, + "linearIndex": 5890, + "address": "0x4eC363994d4515891a147A21bCb908b9a3BBf7c5", + "cellId": "EI-L29-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B24-C4" + }, + { + "lpbca": 29, + "branch": 24, + "class": 5, + "linearIndex": 5891, + "address": "0x4Db4635DD022eb969fa13C92A19c3eBF658522a3", + "cellId": "EI-L29-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B24-C5" + }, + { + "lpbca": 29, + "branch": 25, + "class": 0, + "linearIndex": 5892, + "address": "0x08a35a366CdC0F1A5AbC26a48FF97aD260c92d0A", + "cellId": "EI-L29-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B25-C0" + }, + { + "lpbca": 29, + "branch": 25, + "class": 1, + "linearIndex": 5893, + "address": "0x5a6bE40861679EaCC841521e5eb7B11412eBD1D6", + "cellId": "EI-L29-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B25-C1" + }, + { + "lpbca": 29, + "branch": 25, + "class": 2, + "linearIndex": 5894, + "address": "0x962c48f23d68d5e532D2deE3D014957A134996DA", + "cellId": "EI-L29-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B25-C2" + }, + { + "lpbca": 29, + "branch": 25, + "class": 3, + "linearIndex": 5895, + "address": "0x47Adb096A23F548776BB6b5d4A7bD7fDF12E8f05", + "cellId": "EI-L29-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B25-C3" + }, + { + "lpbca": 29, + "branch": 25, + "class": 4, + "linearIndex": 5896, + "address": "0x1f07ED40981758010144aB4F1b6c6438E5Ef66DB", + "cellId": "EI-L29-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B25-C4" + }, + { + "lpbca": 29, + "branch": 25, + "class": 5, + "linearIndex": 5897, + "address": "0x6b2203F436665BCe22625e56375Dddb03144230b", + "cellId": "EI-L29-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B25-C5" + }, + { + "lpbca": 29, + "branch": 26, + "class": 0, + "linearIndex": 5898, + "address": "0x90AFd0BBfA17D9Fdd56A62D26D43e1304c3E0be3", + "cellId": "EI-L29-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B26-C0" + }, + { + "lpbca": 29, + "branch": 26, + "class": 1, + "linearIndex": 5899, + "address": "0x4fD6132C20ec5a181a4180ef6f6f62cb420dbB03", + "cellId": "EI-L29-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B26-C1" + }, + { + "lpbca": 29, + "branch": 26, + "class": 2, + "linearIndex": 5900, + "address": "0xADBe49C3De62689e89E22E9698Ea214b23F63304", + "cellId": "EI-L29-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B26-C2" + }, + { + "lpbca": 29, + "branch": 26, + "class": 3, + "linearIndex": 5901, + "address": "0xB089Bb7A91A0D09e67c28b2D75fc3D89EBA95773", + "cellId": "EI-L29-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B26-C3" + }, + { + "lpbca": 29, + "branch": 26, + "class": 4, + "linearIndex": 5902, + "address": "0x25744f9e0d379E54E6fd4220dE6a113798D9e768", + "cellId": "EI-L29-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B26-C4" + }, + { + "lpbca": 29, + "branch": 26, + "class": 5, + "linearIndex": 5903, + "address": "0xebb740b8A507F0839Cd36B16E61ac9d0f1Eb4E9b", + "cellId": "EI-L29-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B26-C5" + }, + { + "lpbca": 29, + "branch": 27, + "class": 0, + "linearIndex": 5904, + "address": "0x27CFE6D1326121b5DcF79898456176aDe4068F48", + "cellId": "EI-L29-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B27-C0" + }, + { + "lpbca": 29, + "branch": 27, + "class": 1, + "linearIndex": 5905, + "address": "0x72636E610DFa1f120B54D14fd3e2d1468EE9f22F", + "cellId": "EI-L29-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B27-C1" + }, + { + "lpbca": 29, + "branch": 27, + "class": 2, + "linearIndex": 5906, + "address": "0xf755Db7269d92Dd62Be9cAe00a3Ef4A7eF3E289C", + "cellId": "EI-L29-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B27-C2" + }, + { + "lpbca": 29, + "branch": 27, + "class": 3, + "linearIndex": 5907, + "address": "0x2Df06F31E9D5CcABE996B477503C41767F6AC912", + "cellId": "EI-L29-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B27-C3" + }, + { + "lpbca": 29, + "branch": 27, + "class": 4, + "linearIndex": 5908, + "address": "0xbda6f81e142F7A381c06125D75588668d1b75069", + "cellId": "EI-L29-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B27-C4" + }, + { + "lpbca": 29, + "branch": 27, + "class": 5, + "linearIndex": 5909, + "address": "0xc6160f1EC951accfF578F413101140edbd947dd2", + "cellId": "EI-L29-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B27-C5" + }, + { + "lpbca": 29, + "branch": 28, + "class": 0, + "linearIndex": 5910, + "address": "0x8048d54835A416Fd263080818cf38aBED8ecD105", + "cellId": "EI-L29-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B28-C0" + }, + { + "lpbca": 29, + "branch": 28, + "class": 1, + "linearIndex": 5911, + "address": "0xD25C72be9d669b8956f10ea209BB97490BDD6573", + "cellId": "EI-L29-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B28-C1" + }, + { + "lpbca": 29, + "branch": 28, + "class": 2, + "linearIndex": 5912, + "address": "0x1d5E500E00f0e2d9194e34B34a3139dCc4FCb99a", + "cellId": "EI-L29-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B28-C2" + }, + { + "lpbca": 29, + "branch": 28, + "class": 3, + "linearIndex": 5913, + "address": "0x2F5BFA871fe5697984F1832320D3a4c798A00926", + "cellId": "EI-L29-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B28-C3" + }, + { + "lpbca": 29, + "branch": 28, + "class": 4, + "linearIndex": 5914, + "address": "0x43031f83D84f0B2Bc947d1783919baa20ac509F0", + "cellId": "EI-L29-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B28-C4" + }, + { + "lpbca": 29, + "branch": 28, + "class": 5, + "linearIndex": 5915, + "address": "0x0e58D515378b00ffD17ce85D5651CA908531AB71", + "cellId": "EI-L29-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B28-C5" + }, + { + "lpbca": 29, + "branch": 29, + "class": 0, + "linearIndex": 5916, + "address": "0xEe4e43ABBeF3Bde9544C1e26444f515D1bFfcAc0", + "cellId": "EI-L29-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B29-C0" + }, + { + "lpbca": 29, + "branch": 29, + "class": 1, + "linearIndex": 5917, + "address": "0x0B2e97bC41DA01072bAFFB3edc6F0ad8855296F0", + "cellId": "EI-L29-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B29-C1" + }, + { + "lpbca": 29, + "branch": 29, + "class": 2, + "linearIndex": 5918, + "address": "0x58910d64cd260860F4bb58F1A748E26D7b4fD626", + "cellId": "EI-L29-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B29-C2" + }, + { + "lpbca": 29, + "branch": 29, + "class": 3, + "linearIndex": 5919, + "address": "0x40E3687eB61511cc64a075E2D1A154ae5c89b128", + "cellId": "EI-L29-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B29-C3" + }, + { + "lpbca": 29, + "branch": 29, + "class": 4, + "linearIndex": 5920, + "address": "0x4c7CaA08b56024264e14F304FcCDb1e412ce7bf2", + "cellId": "EI-L29-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B29-C4" + }, + { + "lpbca": 29, + "branch": 29, + "class": 5, + "linearIndex": 5921, + "address": "0xbc4470cfEeFE1E4CE969C3A9298fd9a4A6629ED0", + "cellId": "EI-L29-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B29-C5" + }, + { + "lpbca": 29, + "branch": 30, + "class": 0, + "linearIndex": 5922, + "address": "0x74815C2eCD728D328C6B9e87bF483Bf0EdB97224", + "cellId": "EI-L29-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B30-C0" + }, + { + "lpbca": 29, + "branch": 30, + "class": 1, + "linearIndex": 5923, + "address": "0x6572238B36D91Cc9d2BAd6D763a1aACB03f23D4A", + "cellId": "EI-L29-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B30-C1" + }, + { + "lpbca": 29, + "branch": 30, + "class": 2, + "linearIndex": 5924, + "address": "0xef895d48eD615F3906115b396800447Cc926D4ED", + "cellId": "EI-L29-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B30-C2" + }, + { + "lpbca": 29, + "branch": 30, + "class": 3, + "linearIndex": 5925, + "address": "0x93b7e6034b5f0569CdC25032B8FdDaa47e531d14", + "cellId": "EI-L29-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B30-C3" + }, + { + "lpbca": 29, + "branch": 30, + "class": 4, + "linearIndex": 5926, + "address": "0x34867E3312AF816C027C62e2B66C16a3c44FBe42", + "cellId": "EI-L29-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B30-C4" + }, + { + "lpbca": 29, + "branch": 30, + "class": 5, + "linearIndex": 5927, + "address": "0xd2D4617d93cc178Fc0b695B5fe27A940c79A6792", + "cellId": "EI-L29-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B30-C5" + }, + { + "lpbca": 29, + "branch": 31, + "class": 0, + "linearIndex": 5928, + "address": "0x2174C638Fe658bc1a0a5030FcA5a0eb8c71e6765", + "cellId": "EI-L29-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B31-C0" + }, + { + "lpbca": 29, + "branch": 31, + "class": 1, + "linearIndex": 5929, + "address": "0xf9E8271D48937F1ed0010f4D5AA698e986fD528b", + "cellId": "EI-L29-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B31-C1" + }, + { + "lpbca": 29, + "branch": 31, + "class": 2, + "linearIndex": 5930, + "address": "0x501210f2b19e3c52570AaD7bafaF8E90420f8BD9", + "cellId": "EI-L29-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B31-C2" + }, + { + "lpbca": 29, + "branch": 31, + "class": 3, + "linearIndex": 5931, + "address": "0xd4ba1B3619009dd281736E0A89441337c640d57B", + "cellId": "EI-L29-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B31-C3" + }, + { + "lpbca": 29, + "branch": 31, + "class": 4, + "linearIndex": 5932, + "address": "0x7DcB9BdDe02520a0C16bAcC3ed921D6E7a34CFCD", + "cellId": "EI-L29-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B31-C4" + }, + { + "lpbca": 29, + "branch": 31, + "class": 5, + "linearIndex": 5933, + "address": "0xF183bBd14dD3B9a5D3408a09d3EDE14DD36d3132", + "cellId": "EI-L29-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B31-C5" + }, + { + "lpbca": 29, + "branch": 32, + "class": 0, + "linearIndex": 5934, + "address": "0xCDce19D0b246691b9F329d30FE8fDF7b48Dc2fBf", + "cellId": "EI-L29-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B32-C0" + }, + { + "lpbca": 29, + "branch": 32, + "class": 1, + "linearIndex": 5935, + "address": "0xcfED83Bb67d197Bc67e6BA32Cb6Acc14f8ef4b61", + "cellId": "EI-L29-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B32-C1" + }, + { + "lpbca": 29, + "branch": 32, + "class": 2, + "linearIndex": 5936, + "address": "0xA21AaF91791139D30C9F2efe8D73A41B471eB7B8", + "cellId": "EI-L29-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B32-C2" + }, + { + "lpbca": 29, + "branch": 32, + "class": 3, + "linearIndex": 5937, + "address": "0x96111c01741AD1523e62aa50f890C831A0230Dd9", + "cellId": "EI-L29-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B32-C3" + }, + { + "lpbca": 29, + "branch": 32, + "class": 4, + "linearIndex": 5938, + "address": "0x67824CD06E125ED95558FFfF340218448B0F49bA", + "cellId": "EI-L29-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B32-C4" + }, + { + "lpbca": 29, + "branch": 32, + "class": 5, + "linearIndex": 5939, + "address": "0x89D523B5eC39c8851aD8c4B8ecA9506eB7292798", + "cellId": "EI-L29-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L29-B32-C5" + }, + { + "lpbca": 30, + "branch": 0, + "class": 0, + "linearIndex": 5940, + "address": "0xC0a218EbB372D6dC79d8Fb3C6880a2C006dD0f6e", + "cellId": "EI-L30-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B00-C0" + }, + { + "lpbca": 30, + "branch": 0, + "class": 1, + "linearIndex": 5941, + "address": "0xcee027217a7048544669a211924F519fda3411dF", + "cellId": "EI-L30-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B00-C1" + }, + { + "lpbca": 30, + "branch": 0, + "class": 2, + "linearIndex": 5942, + "address": "0x52FCeb0B6dcF07be2860909aC05D07332dBA7a2C", + "cellId": "EI-L30-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B00-C2" + }, + { + "lpbca": 30, + "branch": 0, + "class": 3, + "linearIndex": 5943, + "address": "0x638295405bf66DE9CFF7B868C13e6Dc01D3a4380", + "cellId": "EI-L30-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B00-C3" + }, + { + "lpbca": 30, + "branch": 0, + "class": 4, + "linearIndex": 5944, + "address": "0xEDb622Ab6CaE8FFeffBAd23980CDD40cAc6112Cd", + "cellId": "EI-L30-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B00-C4" + }, + { + "lpbca": 30, + "branch": 0, + "class": 5, + "linearIndex": 5945, + "address": "0x76dBdFEc1380d0eC64d4F0d9bC6b6526623aFb59", + "cellId": "EI-L30-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B00-C5" + }, + { + "lpbca": 30, + "branch": 1, + "class": 0, + "linearIndex": 5946, + "address": "0x85f3c1c0557D6e9AA58ed5757985d515256e2480", + "cellId": "EI-L30-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B01-C0" + }, + { + "lpbca": 30, + "branch": 1, + "class": 1, + "linearIndex": 5947, + "address": "0x2fa272d192d3F0E8bf22c2D86F4719Ade351dA41", + "cellId": "EI-L30-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B01-C1" + }, + { + "lpbca": 30, + "branch": 1, + "class": 2, + "linearIndex": 5948, + "address": "0xD2a549D7a517964E5F32EcA0Ba5d55682a8401a3", + "cellId": "EI-L30-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B01-C2" + }, + { + "lpbca": 30, + "branch": 1, + "class": 3, + "linearIndex": 5949, + "address": "0x48AA45cbD03aA39b7218fA231bF122b0e34c1dac", + "cellId": "EI-L30-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B01-C3" + }, + { + "lpbca": 30, + "branch": 1, + "class": 4, + "linearIndex": 5950, + "address": "0x01b6e8F43AAD87203346a91DB63352E3a7B07b0B", + "cellId": "EI-L30-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B01-C4" + }, + { + "lpbca": 30, + "branch": 1, + "class": 5, + "linearIndex": 5951, + "address": "0xafEB55bD2908F4F3b09631FC359A1FF3a222D64E", + "cellId": "EI-L30-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B01-C5" + }, + { + "lpbca": 30, + "branch": 2, + "class": 0, + "linearIndex": 5952, + "address": "0x500868867D7cff1A8729cD5d40160089579D63D8", + "cellId": "EI-L30-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B02-C0" + }, + { + "lpbca": 30, + "branch": 2, + "class": 1, + "linearIndex": 5953, + "address": "0x39766d770bdAbae41A1ebDd20a466e67FB3101E4", + "cellId": "EI-L30-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B02-C1" + }, + { + "lpbca": 30, + "branch": 2, + "class": 2, + "linearIndex": 5954, + "address": "0xBEf5c11e3B9B05CDF771E5A2BdecA4A0aA520F16", + "cellId": "EI-L30-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B02-C2" + }, + { + "lpbca": 30, + "branch": 2, + "class": 3, + "linearIndex": 5955, + "address": "0x16364d9FB269c3D1Cc588E981095Ced0Edd6d435", + "cellId": "EI-L30-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B02-C3" + }, + { + "lpbca": 30, + "branch": 2, + "class": 4, + "linearIndex": 5956, + "address": "0x529F2f8B2615ACF75D2CCd9386D393bC7e13b2fb", + "cellId": "EI-L30-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B02-C4" + }, + { + "lpbca": 30, + "branch": 2, + "class": 5, + "linearIndex": 5957, + "address": "0xFaf052bd41A68e5877bD63F1FC1256CE9cfBdd2E", + "cellId": "EI-L30-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B02-C5" + }, + { + "lpbca": 30, + "branch": 3, + "class": 0, + "linearIndex": 5958, + "address": "0x9064930BAb0a23bfF9c2D888477A5032649DF629", + "cellId": "EI-L30-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B03-C0" + }, + { + "lpbca": 30, + "branch": 3, + "class": 1, + "linearIndex": 5959, + "address": "0x15734ca5F14A67eD2223E519567353A1B5442E3A", + "cellId": "EI-L30-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B03-C1" + }, + { + "lpbca": 30, + "branch": 3, + "class": 2, + "linearIndex": 5960, + "address": "0x95Def398E4c14a13d74aEFcAF7A8d8cEa9FF4728", + "cellId": "EI-L30-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B03-C2" + }, + { + "lpbca": 30, + "branch": 3, + "class": 3, + "linearIndex": 5961, + "address": "0xBC6680BAA705c9428e20bde30d11E0AB6c614D9E", + "cellId": "EI-L30-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B03-C3" + }, + { + "lpbca": 30, + "branch": 3, + "class": 4, + "linearIndex": 5962, + "address": "0xee1eC23350755e542dBb3BB62226983FfCD34F67", + "cellId": "EI-L30-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B03-C4" + }, + { + "lpbca": 30, + "branch": 3, + "class": 5, + "linearIndex": 5963, + "address": "0xa4AaAd93095DaE4A7e7baAA4696532a2E7933a96", + "cellId": "EI-L30-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B03-C5" + }, + { + "lpbca": 30, + "branch": 4, + "class": 0, + "linearIndex": 5964, + "address": "0xEffd89732f8cdd0bf354fF71E55dD98A2D59B6BD", + "cellId": "EI-L30-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B04-C0" + }, + { + "lpbca": 30, + "branch": 4, + "class": 1, + "linearIndex": 5965, + "address": "0xe8155edb11eCCEd17CBD8F30C7903c977B597677", + "cellId": "EI-L30-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B04-C1" + }, + { + "lpbca": 30, + "branch": 4, + "class": 2, + "linearIndex": 5966, + "address": "0xB0913362CcD6F50B285987a19803CCf0650b0635", + "cellId": "EI-L30-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B04-C2" + }, + { + "lpbca": 30, + "branch": 4, + "class": 3, + "linearIndex": 5967, + "address": "0x596Ec2137070B8Cda923B1335A2694F8a265f39D", + "cellId": "EI-L30-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B04-C3" + }, + { + "lpbca": 30, + "branch": 4, + "class": 4, + "linearIndex": 5968, + "address": "0x432447B8cdC334a4cF9c1356aC9F6DfDb08bF2F8", + "cellId": "EI-L30-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B04-C4" + }, + { + "lpbca": 30, + "branch": 4, + "class": 5, + "linearIndex": 5969, + "address": "0x90bfcb7d7022BBD47AFBEB0683Ed14a76953b5B5", + "cellId": "EI-L30-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B04-C5" + }, + { + "lpbca": 30, + "branch": 5, + "class": 0, + "linearIndex": 5970, + "address": "0xb29E0ee9b59c6f4bfAC7dF6C301aF89a801E3fE0", + "cellId": "EI-L30-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B05-C0" + }, + { + "lpbca": 30, + "branch": 5, + "class": 1, + "linearIndex": 5971, + "address": "0xe852dDfDbc6887075Fb4A345Dc6Ee19eed09Df1b", + "cellId": "EI-L30-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B05-C1" + }, + { + "lpbca": 30, + "branch": 5, + "class": 2, + "linearIndex": 5972, + "address": "0x0CFca24526a76E7E2A600258e00C28A1c8e5Fe86", + "cellId": "EI-L30-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B05-C2" + }, + { + "lpbca": 30, + "branch": 5, + "class": 3, + "linearIndex": 5973, + "address": "0x515Ad8437a214715B20A953AB59896D57A93771b", + "cellId": "EI-L30-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B05-C3" + }, + { + "lpbca": 30, + "branch": 5, + "class": 4, + "linearIndex": 5974, + "address": "0xa5Db17Ce9CDABA664F4aaE095828ea0f283200A3", + "cellId": "EI-L30-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B05-C4" + }, + { + "lpbca": 30, + "branch": 5, + "class": 5, + "linearIndex": 5975, + "address": "0xa763588296FF2F13ecf3a9423378CDA0f06AaF61", + "cellId": "EI-L30-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B05-C5" + }, + { + "lpbca": 30, + "branch": 6, + "class": 0, + "linearIndex": 5976, + "address": "0x831921271fc90E7FBD71C01B551e93Fc378D715d", + "cellId": "EI-L30-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B06-C0" + }, + { + "lpbca": 30, + "branch": 6, + "class": 1, + "linearIndex": 5977, + "address": "0x319Ceb35D046941B66cF5BaD21204755AbEE8E34", + "cellId": "EI-L30-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B06-C1" + }, + { + "lpbca": 30, + "branch": 6, + "class": 2, + "linearIndex": 5978, + "address": "0x5425E4c48601eC2ea826c8E66bAbEbcf4Ac6A1A9", + "cellId": "EI-L30-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B06-C2" + }, + { + "lpbca": 30, + "branch": 6, + "class": 3, + "linearIndex": 5979, + "address": "0xB1F3301C513417b7Cad3DE364A059eb89E6e7fb4", + "cellId": "EI-L30-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B06-C3" + }, + { + "lpbca": 30, + "branch": 6, + "class": 4, + "linearIndex": 5980, + "address": "0x00c47273dbCc563A215449a1021187ffa33725b7", + "cellId": "EI-L30-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B06-C4" + }, + { + "lpbca": 30, + "branch": 6, + "class": 5, + "linearIndex": 5981, + "address": "0x23438DD3C0cfF82473069cb1C04074d333917fD3", + "cellId": "EI-L30-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B06-C5" + }, + { + "lpbca": 30, + "branch": 7, + "class": 0, + "linearIndex": 5982, + "address": "0x8D17a14aa201bDAE420CAab69FD6fBD444dAfC4A", + "cellId": "EI-L30-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B07-C0" + }, + { + "lpbca": 30, + "branch": 7, + "class": 1, + "linearIndex": 5983, + "address": "0x541B0B25CDb7408D52d132d303E40a5066fcDaEd", + "cellId": "EI-L30-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B07-C1" + }, + { + "lpbca": 30, + "branch": 7, + "class": 2, + "linearIndex": 5984, + "address": "0x6170AA485d3f55b571F6c5063aC37Fc2EC8CD2dF", + "cellId": "EI-L30-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B07-C2" + }, + { + "lpbca": 30, + "branch": 7, + "class": 3, + "linearIndex": 5985, + "address": "0x8d8f2c793247E89Ea4f7fdb1E21CB8C0BC157FD6", + "cellId": "EI-L30-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B07-C3" + }, + { + "lpbca": 30, + "branch": 7, + "class": 4, + "linearIndex": 5986, + "address": "0x4a8123Ede1E8Ee72992DFc3597e6D9E73f0eF812", + "cellId": "EI-L30-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B07-C4" + }, + { + "lpbca": 30, + "branch": 7, + "class": 5, + "linearIndex": 5987, + "address": "0x2F4dA7f048D6Aef378d1557EF91099526E51F07F", + "cellId": "EI-L30-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B07-C5" + }, + { + "lpbca": 30, + "branch": 8, + "class": 0, + "linearIndex": 5988, + "address": "0xa98E86cc592BAC6169A3611ABA0540Dcf31eC90f", + "cellId": "EI-L30-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B08-C0" + }, + { + "lpbca": 30, + "branch": 8, + "class": 1, + "linearIndex": 5989, + "address": "0x10906339017d59E804C05839B8994bbF365b2834", + "cellId": "EI-L30-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B08-C1" + }, + { + "lpbca": 30, + "branch": 8, + "class": 2, + "linearIndex": 5990, + "address": "0xF31090F972cD221025E62cae752BECf01ae210D9", + "cellId": "EI-L30-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B08-C2" + }, + { + "lpbca": 30, + "branch": 8, + "class": 3, + "linearIndex": 5991, + "address": "0xD3f6725D7B448A74099918D1aB148C5f614F291C", + "cellId": "EI-L30-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B08-C3" + }, + { + "lpbca": 30, + "branch": 8, + "class": 4, + "linearIndex": 5992, + "address": "0x4114EaafE6c73B49F24AE32F1259b9E72d3f347B", + "cellId": "EI-L30-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B08-C4" + }, + { + "lpbca": 30, + "branch": 8, + "class": 5, + "linearIndex": 5993, + "address": "0x7C1A54F0Fc9082E9f44ab9E34a6Ee2aF50285956", + "cellId": "EI-L30-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B08-C5" + }, + { + "lpbca": 30, + "branch": 9, + "class": 0, + "linearIndex": 5994, + "address": "0xff5D7611CF05a37587FDE31271c793Fd01180FD8", + "cellId": "EI-L30-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B09-C0" + }, + { + "lpbca": 30, + "branch": 9, + "class": 1, + "linearIndex": 5995, + "address": "0x1C38495478D2d8B1530BFD423d97dAbF4CEa9F75", + "cellId": "EI-L30-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B09-C1" + }, + { + "lpbca": 30, + "branch": 9, + "class": 2, + "linearIndex": 5996, + "address": "0x663C58409d06F8658f58439d9CF05F7CEa98e4D3", + "cellId": "EI-L30-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B09-C2" + }, + { + "lpbca": 30, + "branch": 9, + "class": 3, + "linearIndex": 5997, + "address": "0x7834f3e7842242E52705ec1FeC6dD20baf094A47", + "cellId": "EI-L30-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B09-C3" + }, + { + "lpbca": 30, + "branch": 9, + "class": 4, + "linearIndex": 5998, + "address": "0x4e0cfF545acDB4EdC471ecb57397f234c55BAa87", + "cellId": "EI-L30-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B09-C4" + }, + { + "lpbca": 30, + "branch": 9, + "class": 5, + "linearIndex": 5999, + "address": "0x597E3dc6532ae9eb51D79FcE4584976542C7dC2c", + "cellId": "EI-L30-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B09-C5" + }, + { + "lpbca": 30, + "branch": 10, + "class": 0, + "linearIndex": 6000, + "address": "0x7908eD8Ad02B6847feA4c3d09CE5002689973Db5", + "cellId": "EI-L30-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B10-C0" + }, + { + "lpbca": 30, + "branch": 10, + "class": 1, + "linearIndex": 6001, + "address": "0xE249CcD6CF00C02b3AdEA0C6e942A0feAe6d65bD", + "cellId": "EI-L30-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B10-C1" + }, + { + "lpbca": 30, + "branch": 10, + "class": 2, + "linearIndex": 6002, + "address": "0xe28A1763b77919F08fC1970C38B55c9a9Ec67efb", + "cellId": "EI-L30-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B10-C2" + }, + { + "lpbca": 30, + "branch": 10, + "class": 3, + "linearIndex": 6003, + "address": "0xF81d97385Cdd1562027814794D095CFe6C6802c9", + "cellId": "EI-L30-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B10-C3" + }, + { + "lpbca": 30, + "branch": 10, + "class": 4, + "linearIndex": 6004, + "address": "0xD27Eb8dDA3218762670ED382718ab592fbdF83E6", + "cellId": "EI-L30-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B10-C4" + }, + { + "lpbca": 30, + "branch": 10, + "class": 5, + "linearIndex": 6005, + "address": "0xFD369CFc1d7855c457735Bce1b12d26c99cd943c", + "cellId": "EI-L30-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B10-C5" + }, + { + "lpbca": 30, + "branch": 11, + "class": 0, + "linearIndex": 6006, + "address": "0x2f27B5Af014F2C145A012b7967FE38918D03009A", + "cellId": "EI-L30-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B11-C0" + }, + { + "lpbca": 30, + "branch": 11, + "class": 1, + "linearIndex": 6007, + "address": "0xeDF38E60fD463C74AeD1495807dEcd6202fCc284", + "cellId": "EI-L30-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B11-C1" + }, + { + "lpbca": 30, + "branch": 11, + "class": 2, + "linearIndex": 6008, + "address": "0xC3Ca0E1237D4E561eB8D4243c15B51022a1D61Ba", + "cellId": "EI-L30-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B11-C2" + }, + { + "lpbca": 30, + "branch": 11, + "class": 3, + "linearIndex": 6009, + "address": "0xcf7A37eDf3B4eea76850057Eb8F14401DC03B600", + "cellId": "EI-L30-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B11-C3" + }, + { + "lpbca": 30, + "branch": 11, + "class": 4, + "linearIndex": 6010, + "address": "0x4953Ff3f573F385BfADd8eA0Bfa6d45FAA50eb39", + "cellId": "EI-L30-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B11-C4" + }, + { + "lpbca": 30, + "branch": 11, + "class": 5, + "linearIndex": 6011, + "address": "0x5cD814353cE2B6a1bAD11Ccc08f76EAb281C0df0", + "cellId": "EI-L30-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B11-C5" + }, + { + "lpbca": 30, + "branch": 12, + "class": 0, + "linearIndex": 6012, + "address": "0xbC8f9FB1f41aE83F6C786a6DEdCaf13fddE3D1f4", + "cellId": "EI-L30-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B12-C0" + }, + { + "lpbca": 30, + "branch": 12, + "class": 1, + "linearIndex": 6013, + "address": "0xf8C82F2C94d44B3D83EA898A24364277019a606b", + "cellId": "EI-L30-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B12-C1" + }, + { + "lpbca": 30, + "branch": 12, + "class": 2, + "linearIndex": 6014, + "address": "0x21433a04D5861605F91fCBe4B1801439C56E325d", + "cellId": "EI-L30-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B12-C2" + }, + { + "lpbca": 30, + "branch": 12, + "class": 3, + "linearIndex": 6015, + "address": "0x4c0345092c0C1F9cFe9ab180095b02C8807Dc3Da", + "cellId": "EI-L30-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B12-C3" + }, + { + "lpbca": 30, + "branch": 12, + "class": 4, + "linearIndex": 6016, + "address": "0x2c0b2cfe267EfDf10f2a10B409FD32602fC9119c", + "cellId": "EI-L30-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B12-C4" + }, + { + "lpbca": 30, + "branch": 12, + "class": 5, + "linearIndex": 6017, + "address": "0xC13713c98f9cbC9b72DD51eD00493B2F11Ce4660", + "cellId": "EI-L30-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B12-C5" + }, + { + "lpbca": 30, + "branch": 13, + "class": 0, + "linearIndex": 6018, + "address": "0x14120567e797f7e700CA98acC29511E8326D48AB", + "cellId": "EI-L30-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B13-C0" + }, + { + "lpbca": 30, + "branch": 13, + "class": 1, + "linearIndex": 6019, + "address": "0xC8953169F2A830aE4F797e0eE0D14f6BBbf56a6b", + "cellId": "EI-L30-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B13-C1" + }, + { + "lpbca": 30, + "branch": 13, + "class": 2, + "linearIndex": 6020, + "address": "0x4cbF0AF0b555379B2B32B8D78fc8f51Fa02C418a", + "cellId": "EI-L30-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B13-C2" + }, + { + "lpbca": 30, + "branch": 13, + "class": 3, + "linearIndex": 6021, + "address": "0x8b2902DBBc67E39090FE1459C13Ee5185896d843", + "cellId": "EI-L30-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B13-C3" + }, + { + "lpbca": 30, + "branch": 13, + "class": 4, + "linearIndex": 6022, + "address": "0x894A5D555A594234E09Fe2D169818e21Cd019B7F", + "cellId": "EI-L30-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B13-C4" + }, + { + "lpbca": 30, + "branch": 13, + "class": 5, + "linearIndex": 6023, + "address": "0x2bdaFf0C5c0003422575855668f8150b4E1a13A0", + "cellId": "EI-L30-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B13-C5" + }, + { + "lpbca": 30, + "branch": 14, + "class": 0, + "linearIndex": 6024, + "address": "0xa9cD2FEE9704188B4712A25fcFF05f0e572557D1", + "cellId": "EI-L30-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B14-C0" + }, + { + "lpbca": 30, + "branch": 14, + "class": 1, + "linearIndex": 6025, + "address": "0xaf524eFf9CE85382bD2e45e7f2a6CbE01f4045cC", + "cellId": "EI-L30-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B14-C1" + }, + { + "lpbca": 30, + "branch": 14, + "class": 2, + "linearIndex": 6026, + "address": "0x8cf60AC8e26B5d722b07cF659cB2F1a055C7bF27", + "cellId": "EI-L30-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B14-C2" + }, + { + "lpbca": 30, + "branch": 14, + "class": 3, + "linearIndex": 6027, + "address": "0x343AD1120c02Cb57679E34Ec8F611187BE6b8ca8", + "cellId": "EI-L30-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B14-C3" + }, + { + "lpbca": 30, + "branch": 14, + "class": 4, + "linearIndex": 6028, + "address": "0x510992B4DdbcDcd3E48254d2239809d71C5f842e", + "cellId": "EI-L30-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B14-C4" + }, + { + "lpbca": 30, + "branch": 14, + "class": 5, + "linearIndex": 6029, + "address": "0xaCB7a8BcD8D0441cAabc6BEe03e8520F81dAE644", + "cellId": "EI-L30-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B14-C5" + }, + { + "lpbca": 30, + "branch": 15, + "class": 0, + "linearIndex": 6030, + "address": "0xE7C43aA9c70b64E87D97011daB61A98d49C57c2E", + "cellId": "EI-L30-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B15-C0" + }, + { + "lpbca": 30, + "branch": 15, + "class": 1, + "linearIndex": 6031, + "address": "0x65Aa6275A4a13AF1500b5FDEBcdbf4720c9B957f", + "cellId": "EI-L30-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B15-C1" + }, + { + "lpbca": 30, + "branch": 15, + "class": 2, + "linearIndex": 6032, + "address": "0xcdFACD244Ce259eA1C4A08C4c0c2D3046720F953", + "cellId": "EI-L30-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B15-C2" + }, + { + "lpbca": 30, + "branch": 15, + "class": 3, + "linearIndex": 6033, + "address": "0x12B7751EB9bcEee7A3Efa81976c4e912A5AE7f01", + "cellId": "EI-L30-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B15-C3" + }, + { + "lpbca": 30, + "branch": 15, + "class": 4, + "linearIndex": 6034, + "address": "0x4e7c37Ee72831020ca3F5Db47F54CCE27994C451", + "cellId": "EI-L30-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B15-C4" + }, + { + "lpbca": 30, + "branch": 15, + "class": 5, + "linearIndex": 6035, + "address": "0x815623bDB91f7e108F63660F2532a11dA604f617", + "cellId": "EI-L30-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B15-C5" + }, + { + "lpbca": 30, + "branch": 16, + "class": 0, + "linearIndex": 6036, + "address": "0xAA845cd77A3B3A79B867D1122aBE59bf31E829ab", + "cellId": "EI-L30-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B16-C0" + }, + { + "lpbca": 30, + "branch": 16, + "class": 1, + "linearIndex": 6037, + "address": "0x9A3154366d9B33C65E66c01748583eA8Ad22Ad62", + "cellId": "EI-L30-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B16-C1" + }, + { + "lpbca": 30, + "branch": 16, + "class": 2, + "linearIndex": 6038, + "address": "0xeA30Ce65CC701a8dF0A42F7f90C627b7b39d5Cbc", + "cellId": "EI-L30-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B16-C2" + }, + { + "lpbca": 30, + "branch": 16, + "class": 3, + "linearIndex": 6039, + "address": "0xe437d1c2054641433B34931383ed4DDF9C750f0d", + "cellId": "EI-L30-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B16-C3" + }, + { + "lpbca": 30, + "branch": 16, + "class": 4, + "linearIndex": 6040, + "address": "0x6E0921BA65AeC82882D0563e1De4E8fC0c97B8df", + "cellId": "EI-L30-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B16-C4" + }, + { + "lpbca": 30, + "branch": 16, + "class": 5, + "linearIndex": 6041, + "address": "0x06909ac84a2318CF5d3B49ee8551198B7C96Cb13", + "cellId": "EI-L30-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B16-C5" + }, + { + "lpbca": 30, + "branch": 17, + "class": 0, + "linearIndex": 6042, + "address": "0x9e7df8Eb5185E84b883DeB6098CF0D75519A3f30", + "cellId": "EI-L30-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B17-C0" + }, + { + "lpbca": 30, + "branch": 17, + "class": 1, + "linearIndex": 6043, + "address": "0xa2A1C5AB68361E9ee1A664f3806fe32bba805a54", + "cellId": "EI-L30-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B17-C1" + }, + { + "lpbca": 30, + "branch": 17, + "class": 2, + "linearIndex": 6044, + "address": "0xc50A7E1B86A00d425611EF39D79C5CFC712d9669", + "cellId": "EI-L30-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B17-C2" + }, + { + "lpbca": 30, + "branch": 17, + "class": 3, + "linearIndex": 6045, + "address": "0xB5dEdABb7527F27F1a9A7466b823B04Eb6e1b942", + "cellId": "EI-L30-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B17-C3" + }, + { + "lpbca": 30, + "branch": 17, + "class": 4, + "linearIndex": 6046, + "address": "0x66988b34F775a7C07eEE4eb19dFc34cC48588cD7", + "cellId": "EI-L30-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B17-C4" + }, + { + "lpbca": 30, + "branch": 17, + "class": 5, + "linearIndex": 6047, + "address": "0x6d268bcac139E6372c57fDDabA86E11A251553BD", + "cellId": "EI-L30-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B17-C5" + }, + { + "lpbca": 30, + "branch": 18, + "class": 0, + "linearIndex": 6048, + "address": "0xFD199c3716DBCe6dfe02E7A2f24eA548cD5cF5c3", + "cellId": "EI-L30-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B18-C0" + }, + { + "lpbca": 30, + "branch": 18, + "class": 1, + "linearIndex": 6049, + "address": "0x1c7C5396683088473c2E570e2249605B22f1D555", + "cellId": "EI-L30-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B18-C1" + }, + { + "lpbca": 30, + "branch": 18, + "class": 2, + "linearIndex": 6050, + "address": "0xb1D2C66deb0D1ecB09Ffe3AE80Fe120a7e746e00", + "cellId": "EI-L30-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B18-C2" + }, + { + "lpbca": 30, + "branch": 18, + "class": 3, + "linearIndex": 6051, + "address": "0x3b22637aDe01eDa73cf2D72052605757dF85fABd", + "cellId": "EI-L30-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B18-C3" + }, + { + "lpbca": 30, + "branch": 18, + "class": 4, + "linearIndex": 6052, + "address": "0x8cEfa37272B9D8446D9184Ba8E29ffd80dCC6fAb", + "cellId": "EI-L30-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B18-C4" + }, + { + "lpbca": 30, + "branch": 18, + "class": 5, + "linearIndex": 6053, + "address": "0x929f35d0b0F38e8A5F3BF917CFd040FA8C93443a", + "cellId": "EI-L30-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B18-C5" + }, + { + "lpbca": 30, + "branch": 19, + "class": 0, + "linearIndex": 6054, + "address": "0x9E4249665Dfe2b3e5bbBA50902a8977FCD60afBE", + "cellId": "EI-L30-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B19-C0" + }, + { + "lpbca": 30, + "branch": 19, + "class": 1, + "linearIndex": 6055, + "address": "0xB775D65c56AE1aBDE5b15E0841EDcF0f7eD5fA38", + "cellId": "EI-L30-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B19-C1" + }, + { + "lpbca": 30, + "branch": 19, + "class": 2, + "linearIndex": 6056, + "address": "0xeE150B2Ac62E14E8A92191c4789ebf4Cc8A2b2A1", + "cellId": "EI-L30-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B19-C2" + }, + { + "lpbca": 30, + "branch": 19, + "class": 3, + "linearIndex": 6057, + "address": "0x766Ec74CeF79c4c8A74bcCd84AEE9c5A9487405b", + "cellId": "EI-L30-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B19-C3" + }, + { + "lpbca": 30, + "branch": 19, + "class": 4, + "linearIndex": 6058, + "address": "0x1084BE8D03b57333d958802E02B18E3955061D30", + "cellId": "EI-L30-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B19-C4" + }, + { + "lpbca": 30, + "branch": 19, + "class": 5, + "linearIndex": 6059, + "address": "0x6cFF1b25400A6ce7fc0B6ed5AdA7D8222d4bec67", + "cellId": "EI-L30-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B19-C5" + }, + { + "lpbca": 30, + "branch": 20, + "class": 0, + "linearIndex": 6060, + "address": "0x410e7E0F9CA8bF9Bedf589aDCc8D8c05F253bad8", + "cellId": "EI-L30-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B20-C0" + }, + { + "lpbca": 30, + "branch": 20, + "class": 1, + "linearIndex": 6061, + "address": "0xCb97943353A4Cb9a59CC1514EA985E8a99CE2732", + "cellId": "EI-L30-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B20-C1" + }, + { + "lpbca": 30, + "branch": 20, + "class": 2, + "linearIndex": 6062, + "address": "0x52cFE73706B5485758e4a51694D863672CA8A374", + "cellId": "EI-L30-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B20-C2" + }, + { + "lpbca": 30, + "branch": 20, + "class": 3, + "linearIndex": 6063, + "address": "0x9C143125c0F948Dc447F5fc4128A18161BAa20E9", + "cellId": "EI-L30-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B20-C3" + }, + { + "lpbca": 30, + "branch": 20, + "class": 4, + "linearIndex": 6064, + "address": "0x59C92A0e0a423d86dD8F54aa1cD6913775958dFc", + "cellId": "EI-L30-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B20-C4" + }, + { + "lpbca": 30, + "branch": 20, + "class": 5, + "linearIndex": 6065, + "address": "0x963e13973E5fE570Ab12Aae785b827c313F1e621", + "cellId": "EI-L30-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B20-C5" + }, + { + "lpbca": 30, + "branch": 21, + "class": 0, + "linearIndex": 6066, + "address": "0xcE5693B719817f0a911f63a2d0E3d1Ec84363734", + "cellId": "EI-L30-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B21-C0" + }, + { + "lpbca": 30, + "branch": 21, + "class": 1, + "linearIndex": 6067, + "address": "0xfc9d7FADdBf4C76dC78b9eDeF7Aa70826A8a68A0", + "cellId": "EI-L30-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B21-C1" + }, + { + "lpbca": 30, + "branch": 21, + "class": 2, + "linearIndex": 6068, + "address": "0x969F1B8aedc6CB187284e6b3F8E1d34257c3d73f", + "cellId": "EI-L30-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B21-C2" + }, + { + "lpbca": 30, + "branch": 21, + "class": 3, + "linearIndex": 6069, + "address": "0x31Ed05f41BbD9aCBBb54aCE59fb21A3453a3c417", + "cellId": "EI-L30-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B21-C3" + }, + { + "lpbca": 30, + "branch": 21, + "class": 4, + "linearIndex": 6070, + "address": "0x9434bA3a479e660ACdd2ad1c55662E2d3F04D10b", + "cellId": "EI-L30-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B21-C4" + }, + { + "lpbca": 30, + "branch": 21, + "class": 5, + "linearIndex": 6071, + "address": "0x131eF7dD055ca46D25f9D95B7C92f28824fD11ef", + "cellId": "EI-L30-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B21-C5" + }, + { + "lpbca": 30, + "branch": 22, + "class": 0, + "linearIndex": 6072, + "address": "0x94bB144105147fB96a1fdc2Dd8bEE95a42Be1C0B", + "cellId": "EI-L30-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B22-C0" + }, + { + "lpbca": 30, + "branch": 22, + "class": 1, + "linearIndex": 6073, + "address": "0xaf1538e50c6F016eF6084D6B4281920e5A3bB6E4", + "cellId": "EI-L30-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B22-C1" + }, + { + "lpbca": 30, + "branch": 22, + "class": 2, + "linearIndex": 6074, + "address": "0xc13b65E4B82564123160ffb272D73B1fAA80A40F", + "cellId": "EI-L30-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B22-C2" + }, + { + "lpbca": 30, + "branch": 22, + "class": 3, + "linearIndex": 6075, + "address": "0x0B69a2fd4a62E5A4A56EbA08305d76494B5e3ccb", + "cellId": "EI-L30-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B22-C3" + }, + { + "lpbca": 30, + "branch": 22, + "class": 4, + "linearIndex": 6076, + "address": "0xB99ed1268Dc2692C2A187E16f3Af802F0d826cf7", + "cellId": "EI-L30-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B22-C4" + }, + { + "lpbca": 30, + "branch": 22, + "class": 5, + "linearIndex": 6077, + "address": "0x7A0e2F0b277b641304434C44bc98EC6406e8283A", + "cellId": "EI-L30-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B22-C5" + }, + { + "lpbca": 30, + "branch": 23, + "class": 0, + "linearIndex": 6078, + "address": "0x9E37bD17823d037e1cBc5d506151d3f24252FBe6", + "cellId": "EI-L30-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B23-C0" + }, + { + "lpbca": 30, + "branch": 23, + "class": 1, + "linearIndex": 6079, + "address": "0x182DDb7E7Df46F9aF7d180b51Ff665b4e86FC050", + "cellId": "EI-L30-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B23-C1" + }, + { + "lpbca": 30, + "branch": 23, + "class": 2, + "linearIndex": 6080, + "address": "0x3cE6051f02ad417e3635B63B83ccDe172aEAe981", + "cellId": "EI-L30-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B23-C2" + }, + { + "lpbca": 30, + "branch": 23, + "class": 3, + "linearIndex": 6081, + "address": "0xe157f939AfD701196c50DBBb5ff689a845fae787", + "cellId": "EI-L30-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B23-C3" + }, + { + "lpbca": 30, + "branch": 23, + "class": 4, + "linearIndex": 6082, + "address": "0x6e72a7184C2868108F4d7dB23bACF2500f6D3a0f", + "cellId": "EI-L30-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B23-C4" + }, + { + "lpbca": 30, + "branch": 23, + "class": 5, + "linearIndex": 6083, + "address": "0xa36f5eEe4CbE9B0b54a018e4639EB26299D0164A", + "cellId": "EI-L30-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B23-C5" + }, + { + "lpbca": 30, + "branch": 24, + "class": 0, + "linearIndex": 6084, + "address": "0x769b7481Bd3CD68AE5500a9D0CFa418f20158355", + "cellId": "EI-L30-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B24-C0" + }, + { + "lpbca": 30, + "branch": 24, + "class": 1, + "linearIndex": 6085, + "address": "0x8C04B32643651d525623Db036d992F8294dc9215", + "cellId": "EI-L30-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B24-C1" + }, + { + "lpbca": 30, + "branch": 24, + "class": 2, + "linearIndex": 6086, + "address": "0xA658Fcc0eB3D8Ab805595CDb899739920AF508eE", + "cellId": "EI-L30-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B24-C2" + }, + { + "lpbca": 30, + "branch": 24, + "class": 3, + "linearIndex": 6087, + "address": "0xe65111C7d63AbE101C84937466d0b864017E048D", + "cellId": "EI-L30-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B24-C3" + }, + { + "lpbca": 30, + "branch": 24, + "class": 4, + "linearIndex": 6088, + "address": "0x1C098E6A87D19C075FbCA1D8526b06843E338C84", + "cellId": "EI-L30-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B24-C4" + }, + { + "lpbca": 30, + "branch": 24, + "class": 5, + "linearIndex": 6089, + "address": "0xdCDD31a920eBB29E2abf75705BFc0d4DCb5e4cbD", + "cellId": "EI-L30-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B24-C5" + }, + { + "lpbca": 30, + "branch": 25, + "class": 0, + "linearIndex": 6090, + "address": "0x9502bF1Ad3Ee75940Fd412E4318B472a57c177d8", + "cellId": "EI-L30-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B25-C0" + }, + { + "lpbca": 30, + "branch": 25, + "class": 1, + "linearIndex": 6091, + "address": "0xFfe24CE7368acF8Ff05f401667452bf50FE91C09", + "cellId": "EI-L30-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B25-C1" + }, + { + "lpbca": 30, + "branch": 25, + "class": 2, + "linearIndex": 6092, + "address": "0xcC7135A1469256E00BF0334Ce8abA49B8f910e24", + "cellId": "EI-L30-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B25-C2" + }, + { + "lpbca": 30, + "branch": 25, + "class": 3, + "linearIndex": 6093, + "address": "0x37D75B3519A247321892282a6213B26c6E89E1Ef", + "cellId": "EI-L30-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B25-C3" + }, + { + "lpbca": 30, + "branch": 25, + "class": 4, + "linearIndex": 6094, + "address": "0xBe7D2bf759b1805be603E8400a0045b0e584CfcD", + "cellId": "EI-L30-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B25-C4" + }, + { + "lpbca": 30, + "branch": 25, + "class": 5, + "linearIndex": 6095, + "address": "0xE95e73835ec37C1dD0163C3960Dee1e23B2628Cb", + "cellId": "EI-L30-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B25-C5" + }, + { + "lpbca": 30, + "branch": 26, + "class": 0, + "linearIndex": 6096, + "address": "0x72F47be43d612a0B7D4fa632B7c6391ccC9b01De", + "cellId": "EI-L30-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B26-C0" + }, + { + "lpbca": 30, + "branch": 26, + "class": 1, + "linearIndex": 6097, + "address": "0x5a2d984b6EDC4BF88AF6E55ee4bf4b339884E4C7", + "cellId": "EI-L30-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B26-C1" + }, + { + "lpbca": 30, + "branch": 26, + "class": 2, + "linearIndex": 6098, + "address": "0x020FD51c97A5EA346928a795eb077d1f0FE5E88C", + "cellId": "EI-L30-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B26-C2" + }, + { + "lpbca": 30, + "branch": 26, + "class": 3, + "linearIndex": 6099, + "address": "0x742bBF4c4907995d2209ecAd96FD0083DdE13398", + "cellId": "EI-L30-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B26-C3" + }, + { + "lpbca": 30, + "branch": 26, + "class": 4, + "linearIndex": 6100, + "address": "0xCE4dD83b42D2D742e113b444bAaCa3788DaB1bC3", + "cellId": "EI-L30-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B26-C4" + }, + { + "lpbca": 30, + "branch": 26, + "class": 5, + "linearIndex": 6101, + "address": "0x7187FE0f5D096b423166009B85A1471A2bF1332a", + "cellId": "EI-L30-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B26-C5" + }, + { + "lpbca": 30, + "branch": 27, + "class": 0, + "linearIndex": 6102, + "address": "0xc27D8eA065795426C7e5bF776244c757d214865e", + "cellId": "EI-L30-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B27-C0" + }, + { + "lpbca": 30, + "branch": 27, + "class": 1, + "linearIndex": 6103, + "address": "0x18Bd1A4ceFBB5e26e642EE63423C93d82fDd9aF0", + "cellId": "EI-L30-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B27-C1" + }, + { + "lpbca": 30, + "branch": 27, + "class": 2, + "linearIndex": 6104, + "address": "0x19963CEC727fe956D9B5482582242fE4A0F07C7a", + "cellId": "EI-L30-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B27-C2" + }, + { + "lpbca": 30, + "branch": 27, + "class": 3, + "linearIndex": 6105, + "address": "0x59384E0fe86F87c272b21B4165bd8957Cc3C4B98", + "cellId": "EI-L30-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B27-C3" + }, + { + "lpbca": 30, + "branch": 27, + "class": 4, + "linearIndex": 6106, + "address": "0x0BE2C5EA29522ec7eF919E19B622d5F253700AF0", + "cellId": "EI-L30-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B27-C4" + }, + { + "lpbca": 30, + "branch": 27, + "class": 5, + "linearIndex": 6107, + "address": "0x25eC3E5CACc4b460305Bf01b21AF76527d60EF9A", + "cellId": "EI-L30-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B27-C5" + }, + { + "lpbca": 30, + "branch": 28, + "class": 0, + "linearIndex": 6108, + "address": "0x747Bad46103DBf0d530002F0CAea8207d77E4923", + "cellId": "EI-L30-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B28-C0" + }, + { + "lpbca": 30, + "branch": 28, + "class": 1, + "linearIndex": 6109, + "address": "0xcDc9907443F8121c8ABa1e85Fd8d4488646493d3", + "cellId": "EI-L30-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B28-C1" + }, + { + "lpbca": 30, + "branch": 28, + "class": 2, + "linearIndex": 6110, + "address": "0x3e1f0fD910c162fFECfeD9f90748Fa141bF7aFDE", + "cellId": "EI-L30-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B28-C2" + }, + { + "lpbca": 30, + "branch": 28, + "class": 3, + "linearIndex": 6111, + "address": "0x2110CB9c798E908CE54Ec20c922f12648780ac08", + "cellId": "EI-L30-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B28-C3" + }, + { + "lpbca": 30, + "branch": 28, + "class": 4, + "linearIndex": 6112, + "address": "0xEd48e796D08cb7403b28e6f645FeaD03392d2D75", + "cellId": "EI-L30-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B28-C4" + }, + { + "lpbca": 30, + "branch": 28, + "class": 5, + "linearIndex": 6113, + "address": "0xF653f7Ac2405577F6cF71d26Dd9cF3a67035FC94", + "cellId": "EI-L30-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B28-C5" + }, + { + "lpbca": 30, + "branch": 29, + "class": 0, + "linearIndex": 6114, + "address": "0x9c483e310E6BF527E04A39565A002AcC2D4f7bFd", + "cellId": "EI-L30-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B29-C0" + }, + { + "lpbca": 30, + "branch": 29, + "class": 1, + "linearIndex": 6115, + "address": "0x4ff9161C65b63F9349a46b65926C93e37ebcD286", + "cellId": "EI-L30-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B29-C1" + }, + { + "lpbca": 30, + "branch": 29, + "class": 2, + "linearIndex": 6116, + "address": "0x82CE9562028557F2A27F3458478aF19508aA6BE6", + "cellId": "EI-L30-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B29-C2" + }, + { + "lpbca": 30, + "branch": 29, + "class": 3, + "linearIndex": 6117, + "address": "0x8Ab420Ba9369Ff378AF7104aBbBEA04922a062F6", + "cellId": "EI-L30-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B29-C3" + }, + { + "lpbca": 30, + "branch": 29, + "class": 4, + "linearIndex": 6118, + "address": "0x92275e79c974B54B1049bdDA5DD395134A6dc0Be", + "cellId": "EI-L30-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B29-C4" + }, + { + "lpbca": 30, + "branch": 29, + "class": 5, + "linearIndex": 6119, + "address": "0x23d9b841edc1430fcc741766f2DD5b5a242f48c7", + "cellId": "EI-L30-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B29-C5" + }, + { + "lpbca": 30, + "branch": 30, + "class": 0, + "linearIndex": 6120, + "address": "0x74938A2b8AFcd115172964F870F54Dd3Db5Af07b", + "cellId": "EI-L30-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B30-C0" + }, + { + "lpbca": 30, + "branch": 30, + "class": 1, + "linearIndex": 6121, + "address": "0xF635Ffa94E1318de712A4947eb15e69f40B3C31E", + "cellId": "EI-L30-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B30-C1" + }, + { + "lpbca": 30, + "branch": 30, + "class": 2, + "linearIndex": 6122, + "address": "0x9BD5b19a96B8C8FD61cc067b155baBffA9F2d521", + "cellId": "EI-L30-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B30-C2" + }, + { + "lpbca": 30, + "branch": 30, + "class": 3, + "linearIndex": 6123, + "address": "0x33d6fCCF848a1FBEFe52A6f9d9e84e3607549ce1", + "cellId": "EI-L30-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B30-C3" + }, + { + "lpbca": 30, + "branch": 30, + "class": 4, + "linearIndex": 6124, + "address": "0x99d69C763710C3349af77D939224c63e68487b13", + "cellId": "EI-L30-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B30-C4" + }, + { + "lpbca": 30, + "branch": 30, + "class": 5, + "linearIndex": 6125, + "address": "0xe536ce20668AF8987F3657DDEA3a7d4B70306296", + "cellId": "EI-L30-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B30-C5" + }, + { + "lpbca": 30, + "branch": 31, + "class": 0, + "linearIndex": 6126, + "address": "0x2ECb9628E3Af390BF75A76B36b861a852173B9fD", + "cellId": "EI-L30-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B31-C0" + }, + { + "lpbca": 30, + "branch": 31, + "class": 1, + "linearIndex": 6127, + "address": "0x8b7Ec8552e19c74FEf51197657B98F74B657f3e2", + "cellId": "EI-L30-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B31-C1" + }, + { + "lpbca": 30, + "branch": 31, + "class": 2, + "linearIndex": 6128, + "address": "0xa34E157Fed874326Afa81c336f9b53c9b1a12d0f", + "cellId": "EI-L30-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B31-C2" + }, + { + "lpbca": 30, + "branch": 31, + "class": 3, + "linearIndex": 6129, + "address": "0x02b9F3D43A034c6999EafFbfb51462A23FF791fD", + "cellId": "EI-L30-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B31-C3" + }, + { + "lpbca": 30, + "branch": 31, + "class": 4, + "linearIndex": 6130, + "address": "0x93f624B137f0e776C56BCb2289D50506548438b4", + "cellId": "EI-L30-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B31-C4" + }, + { + "lpbca": 30, + "branch": 31, + "class": 5, + "linearIndex": 6131, + "address": "0xAEa8d476565d3618164f01eeEc035850A0e87759", + "cellId": "EI-L30-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B31-C5" + }, + { + "lpbca": 30, + "branch": 32, + "class": 0, + "linearIndex": 6132, + "address": "0xEE09786175568aefEc96b0a11d0001610ac24e0C", + "cellId": "EI-L30-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B32-C0" + }, + { + "lpbca": 30, + "branch": 32, + "class": 1, + "linearIndex": 6133, + "address": "0x388dc7464a56cE9c71c8D9D8066B8e1e3F2233de", + "cellId": "EI-L30-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B32-C1" + }, + { + "lpbca": 30, + "branch": 32, + "class": 2, + "linearIndex": 6134, + "address": "0x1A0840EC6377240B3Ae5374927C329804d2a7c94", + "cellId": "EI-L30-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B32-C2" + }, + { + "lpbca": 30, + "branch": 32, + "class": 3, + "linearIndex": 6135, + "address": "0x818c5cE9B10c55Db53A9530b9cF84FBE78c5679B", + "cellId": "EI-L30-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B32-C3" + }, + { + "lpbca": 30, + "branch": 32, + "class": 4, + "linearIndex": 6136, + "address": "0xB778d0d5689a52cA71bE2fb4d128ACcDAc4De4a9", + "cellId": "EI-L30-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B32-C4" + }, + { + "lpbca": 30, + "branch": 32, + "class": 5, + "linearIndex": 6137, + "address": "0xf81D3C0F8B30F875F6E2C391cA9e0880F4FCcf70", + "cellId": "EI-L30-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L30-B32-C5" + }, + { + "lpbca": 31, + "branch": 0, + "class": 0, + "linearIndex": 6138, + "address": "0x44607D86D34E5D2aB0B330F90657c88fB7479C42", + "cellId": "EI-L31-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B00-C0" + }, + { + "lpbca": 31, + "branch": 0, + "class": 1, + "linearIndex": 6139, + "address": "0x37d5ef01a86469b6AF73cAc5dae83C57D9ee41Ff", + "cellId": "EI-L31-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B00-C1" + }, + { + "lpbca": 31, + "branch": 0, + "class": 2, + "linearIndex": 6140, + "address": "0xF7c4F1112E8Ee85401cF87d0bd4B883327b6B147", + "cellId": "EI-L31-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B00-C2" + }, + { + "lpbca": 31, + "branch": 0, + "class": 3, + "linearIndex": 6141, + "address": "0xd6a847aAb2C6Ba4ff5c44901957788ec66125fC1", + "cellId": "EI-L31-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B00-C3" + }, + { + "lpbca": 31, + "branch": 0, + "class": 4, + "linearIndex": 6142, + "address": "0x6f78D8dc1CCA2A6AB8545492Df8790912EF75842", + "cellId": "EI-L31-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B00-C4" + }, + { + "lpbca": 31, + "branch": 0, + "class": 5, + "linearIndex": 6143, + "address": "0xD9bCde9520d448869CF96B25C794015552d66d0a", + "cellId": "EI-L31-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B00-C5" + }, + { + "lpbca": 31, + "branch": 1, + "class": 0, + "linearIndex": 6144, + "address": "0xAc872dfB5936c68fDF12D05c404D12b712dA4aEa", + "cellId": "EI-L31-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B01-C0" + }, + { + "lpbca": 31, + "branch": 1, + "class": 1, + "linearIndex": 6145, + "address": "0x08b6512588bEb03265317003AbA9E70BF79244c7", + "cellId": "EI-L31-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B01-C1" + }, + { + "lpbca": 31, + "branch": 1, + "class": 2, + "linearIndex": 6146, + "address": "0xe001E793c789F4EbE88362F161e8Ebf1b553c143", + "cellId": "EI-L31-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B01-C2" + }, + { + "lpbca": 31, + "branch": 1, + "class": 3, + "linearIndex": 6147, + "address": "0x0eDa2A39F298abB98AE5277Ce3C33dc8218f523D", + "cellId": "EI-L31-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B01-C3" + }, + { + "lpbca": 31, + "branch": 1, + "class": 4, + "linearIndex": 6148, + "address": "0x81dEC1554E5FBeaC91e262CB2b03b3f2B8428D30", + "cellId": "EI-L31-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B01-C4" + }, + { + "lpbca": 31, + "branch": 1, + "class": 5, + "linearIndex": 6149, + "address": "0x81AC611ed58a301b17D8Fb64C5C6fedCF6e5b2bF", + "cellId": "EI-L31-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B01-C5" + }, + { + "lpbca": 31, + "branch": 2, + "class": 0, + "linearIndex": 6150, + "address": "0x918d605e17A14723f39d58C1Caa8a8F18b2f36E6", + "cellId": "EI-L31-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B02-C0" + }, + { + "lpbca": 31, + "branch": 2, + "class": 1, + "linearIndex": 6151, + "address": "0x286EA968ff44aa1713eEe8EAb235108C9C8b1fFb", + "cellId": "EI-L31-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B02-C1" + }, + { + "lpbca": 31, + "branch": 2, + "class": 2, + "linearIndex": 6152, + "address": "0x473d4f2698874bdCAd4E9270A9D86dC54A31bB1E", + "cellId": "EI-L31-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B02-C2" + }, + { + "lpbca": 31, + "branch": 2, + "class": 3, + "linearIndex": 6153, + "address": "0x9d12E251841c190cD3e19f0F12E2B17A3df267B9", + "cellId": "EI-L31-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B02-C3" + }, + { + "lpbca": 31, + "branch": 2, + "class": 4, + "linearIndex": 6154, + "address": "0xfe9771d3D680348461ed0BC155EC3f2b377eA565", + "cellId": "EI-L31-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B02-C4" + }, + { + "lpbca": 31, + "branch": 2, + "class": 5, + "linearIndex": 6155, + "address": "0x1212f64171799964802b3aB857DdD4c6356C9080", + "cellId": "EI-L31-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B02-C5" + }, + { + "lpbca": 31, + "branch": 3, + "class": 0, + "linearIndex": 6156, + "address": "0x42bAb4c7e08578C6D2bf82B1857F0058c3555161", + "cellId": "EI-L31-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B03-C0" + }, + { + "lpbca": 31, + "branch": 3, + "class": 1, + "linearIndex": 6157, + "address": "0x7F419625e9cf57451D3217bFDe55dCccE44C2FfF", + "cellId": "EI-L31-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B03-C1" + }, + { + "lpbca": 31, + "branch": 3, + "class": 2, + "linearIndex": 6158, + "address": "0x3CD7AD350b4142e8B7A7b2d03B3Ca32f2d5573e0", + "cellId": "EI-L31-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B03-C2" + }, + { + "lpbca": 31, + "branch": 3, + "class": 3, + "linearIndex": 6159, + "address": "0x3eAFD65D2b98666E44d58E3C74E7238665dbf8B0", + "cellId": "EI-L31-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B03-C3" + }, + { + "lpbca": 31, + "branch": 3, + "class": 4, + "linearIndex": 6160, + "address": "0xa6F2e0816E624CB2CCD0e6531526B4C7F89A3F26", + "cellId": "EI-L31-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B03-C4" + }, + { + "lpbca": 31, + "branch": 3, + "class": 5, + "linearIndex": 6161, + "address": "0x4b34763AF227321C0396567Fba264Efc0748580b", + "cellId": "EI-L31-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B03-C5" + }, + { + "lpbca": 31, + "branch": 4, + "class": 0, + "linearIndex": 6162, + "address": "0x08B441f931e4F071A0F210D428b48E24eD68319b", + "cellId": "EI-L31-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B04-C0" + }, + { + "lpbca": 31, + "branch": 4, + "class": 1, + "linearIndex": 6163, + "address": "0x769dE575231f4bC553787CBdcb9eac085B64d8EB", + "cellId": "EI-L31-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B04-C1" + }, + { + "lpbca": 31, + "branch": 4, + "class": 2, + "linearIndex": 6164, + "address": "0x8C2052739BD09Dc89a3d6A4830eBefb20680BDEe", + "cellId": "EI-L31-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B04-C2" + }, + { + "lpbca": 31, + "branch": 4, + "class": 3, + "linearIndex": 6165, + "address": "0xfBBade00069B0F93f32D7fef7BbDa252f0246D3c", + "cellId": "EI-L31-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B04-C3" + }, + { + "lpbca": 31, + "branch": 4, + "class": 4, + "linearIndex": 6166, + "address": "0x7F76bAEFAd7AAF49e3517939ED4411BFb661dB48", + "cellId": "EI-L31-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B04-C4" + }, + { + "lpbca": 31, + "branch": 4, + "class": 5, + "linearIndex": 6167, + "address": "0x287775d8dbD15Eeac10EDEe75553b9209ebB00A5", + "cellId": "EI-L31-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B04-C5" + }, + { + "lpbca": 31, + "branch": 5, + "class": 0, + "linearIndex": 6168, + "address": "0x47b4Eabe5fE6109f86D11aA6A7028878D741CC0A", + "cellId": "EI-L31-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B05-C0" + }, + { + "lpbca": 31, + "branch": 5, + "class": 1, + "linearIndex": 6169, + "address": "0x38D36623Ccd7Ad62bC136EDE8DD9728dd64fEe99", + "cellId": "EI-L31-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B05-C1" + }, + { + "lpbca": 31, + "branch": 5, + "class": 2, + "linearIndex": 6170, + "address": "0x35CEa262A1998FD23524c8f3AE9CAd0d24B7722E", + "cellId": "EI-L31-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B05-C2" + }, + { + "lpbca": 31, + "branch": 5, + "class": 3, + "linearIndex": 6171, + "address": "0x5033da680e639493e140dC5A4EDeCf2883648364", + "cellId": "EI-L31-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B05-C3" + }, + { + "lpbca": 31, + "branch": 5, + "class": 4, + "linearIndex": 6172, + "address": "0xb950970be75BCaa394346B0311665043D663DB71", + "cellId": "EI-L31-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B05-C4" + }, + { + "lpbca": 31, + "branch": 5, + "class": 5, + "linearIndex": 6173, + "address": "0xF727D6614bD81db51001f905B5178A80ED2274e1", + "cellId": "EI-L31-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B05-C5" + }, + { + "lpbca": 31, + "branch": 6, + "class": 0, + "linearIndex": 6174, + "address": "0xF569a2E4963935E6B093ea9bBCD1eAaF042f2BaC", + "cellId": "EI-L31-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B06-C0" + }, + { + "lpbca": 31, + "branch": 6, + "class": 1, + "linearIndex": 6175, + "address": "0x3b5dc3E501e1050b659E13011AafF4695678dEb6", + "cellId": "EI-L31-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B06-C1" + }, + { + "lpbca": 31, + "branch": 6, + "class": 2, + "linearIndex": 6176, + "address": "0xE7d79800B8C18fE6AE362aF94591dd3bDd3F35D2", + "cellId": "EI-L31-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B06-C2" + }, + { + "lpbca": 31, + "branch": 6, + "class": 3, + "linearIndex": 6177, + "address": "0x4Ea3FA6fEa94922aaDc4aFc839c35A593aA0D445", + "cellId": "EI-L31-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B06-C3" + }, + { + "lpbca": 31, + "branch": 6, + "class": 4, + "linearIndex": 6178, + "address": "0x62463029688EaB53ff162986a7EB52A8DE43bE53", + "cellId": "EI-L31-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B06-C4" + }, + { + "lpbca": 31, + "branch": 6, + "class": 5, + "linearIndex": 6179, + "address": "0x1870bE071BE1C831a2D21730A399E668792577Ab", + "cellId": "EI-L31-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B06-C5" + }, + { + "lpbca": 31, + "branch": 7, + "class": 0, + "linearIndex": 6180, + "address": "0x1142C5Ace448FA1060239E5a512D13841Ae4C909", + "cellId": "EI-L31-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B07-C0" + }, + { + "lpbca": 31, + "branch": 7, + "class": 1, + "linearIndex": 6181, + "address": "0x05dee85cA232828da7c752c307075cE5c6A0C2FD", + "cellId": "EI-L31-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B07-C1" + }, + { + "lpbca": 31, + "branch": 7, + "class": 2, + "linearIndex": 6182, + "address": "0x9bC14652a5E3DA2aE96084a373cB48A3d021a8a1", + "cellId": "EI-L31-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B07-C2" + }, + { + "lpbca": 31, + "branch": 7, + "class": 3, + "linearIndex": 6183, + "address": "0x22B022C9Ae0fF4f7012652Ce72D29df87A52c545", + "cellId": "EI-L31-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B07-C3" + }, + { + "lpbca": 31, + "branch": 7, + "class": 4, + "linearIndex": 6184, + "address": "0xb2FbC3dC6A500E9FC9d07DD10c838BbA6E8C161E", + "cellId": "EI-L31-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B07-C4" + }, + { + "lpbca": 31, + "branch": 7, + "class": 5, + "linearIndex": 6185, + "address": "0x41Bb9530894eACc447dd5F6d2b01944154d94719", + "cellId": "EI-L31-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B07-C5" + }, + { + "lpbca": 31, + "branch": 8, + "class": 0, + "linearIndex": 6186, + "address": "0xe5d8156B207fB2Ced8841252D4118489C24B1964", + "cellId": "EI-L31-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B08-C0" + }, + { + "lpbca": 31, + "branch": 8, + "class": 1, + "linearIndex": 6187, + "address": "0xa7E5b7d02D1C33F8915144a5b6852488a2A41832", + "cellId": "EI-L31-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B08-C1" + }, + { + "lpbca": 31, + "branch": 8, + "class": 2, + "linearIndex": 6188, + "address": "0x099f0f61F0Ac53eD2D547b7bC94fe6E64b1C7A7A", + "cellId": "EI-L31-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B08-C2" + }, + { + "lpbca": 31, + "branch": 8, + "class": 3, + "linearIndex": 6189, + "address": "0x0360fC111a55a46A217cdce4E08bE5D4039101aE", + "cellId": "EI-L31-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B08-C3" + }, + { + "lpbca": 31, + "branch": 8, + "class": 4, + "linearIndex": 6190, + "address": "0x77909b665e33fe6526c9048338AabD5e4A7dC20D", + "cellId": "EI-L31-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B08-C4" + }, + { + "lpbca": 31, + "branch": 8, + "class": 5, + "linearIndex": 6191, + "address": "0xf3f22437E7b32a64d6DE633Cf5B0c6bf308a551f", + "cellId": "EI-L31-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B08-C5" + }, + { + "lpbca": 31, + "branch": 9, + "class": 0, + "linearIndex": 6192, + "address": "0xFEb4e20A8E3C754fa8c15945974727268A517e34", + "cellId": "EI-L31-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B09-C0" + }, + { + "lpbca": 31, + "branch": 9, + "class": 1, + "linearIndex": 6193, + "address": "0xf23da91B7D65f4f39297F6a07D7c4c1fDB575fb0", + "cellId": "EI-L31-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B09-C1" + }, + { + "lpbca": 31, + "branch": 9, + "class": 2, + "linearIndex": 6194, + "address": "0xaBBB62BF9eD4848D7392465F9d24b509DE658d73", + "cellId": "EI-L31-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B09-C2" + }, + { + "lpbca": 31, + "branch": 9, + "class": 3, + "linearIndex": 6195, + "address": "0x6B2C5B173D0AEEd8514DA7dFEB10f99318486e6f", + "cellId": "EI-L31-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B09-C3" + }, + { + "lpbca": 31, + "branch": 9, + "class": 4, + "linearIndex": 6196, + "address": "0xaF98b6A5dec148f2b19F3BA3d60D9047b4b41726", + "cellId": "EI-L31-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B09-C4" + }, + { + "lpbca": 31, + "branch": 9, + "class": 5, + "linearIndex": 6197, + "address": "0x934370bbE9238B92ee775A1E26bB02371Ab269B0", + "cellId": "EI-L31-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B09-C5" + }, + { + "lpbca": 31, + "branch": 10, + "class": 0, + "linearIndex": 6198, + "address": "0x3873cc377a135A8d1ddEd7C0BA35886F1e059f2c", + "cellId": "EI-L31-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B10-C0" + }, + { + "lpbca": 31, + "branch": 10, + "class": 1, + "linearIndex": 6199, + "address": "0xcCf26890544271e37de3769a62Ea3B9349Cc8E77", + "cellId": "EI-L31-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B10-C1" + }, + { + "lpbca": 31, + "branch": 10, + "class": 2, + "linearIndex": 6200, + "address": "0x427Ffe03Cf2E256007e63cD30D8f25B6DC11E66F", + "cellId": "EI-L31-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B10-C2" + }, + { + "lpbca": 31, + "branch": 10, + "class": 3, + "linearIndex": 6201, + "address": "0x4b4B03881Cf1bC7432480610a1d91986f95Bc7c4", + "cellId": "EI-L31-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B10-C3" + }, + { + "lpbca": 31, + "branch": 10, + "class": 4, + "linearIndex": 6202, + "address": "0x241BD517c34f3D7620bfA47898bBdacF714B81Bb", + "cellId": "EI-L31-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B10-C4" + }, + { + "lpbca": 31, + "branch": 10, + "class": 5, + "linearIndex": 6203, + "address": "0x6014b0c034E8D84eD9B597B1DaE600fa5d1a5110", + "cellId": "EI-L31-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B10-C5" + }, + { + "lpbca": 31, + "branch": 11, + "class": 0, + "linearIndex": 6204, + "address": "0xf44087FC4E07FC121AD54A0649aF39708CB2F8c3", + "cellId": "EI-L31-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B11-C0" + }, + { + "lpbca": 31, + "branch": 11, + "class": 1, + "linearIndex": 6205, + "address": "0xfbee1F6664de9a83De813d14009e774Bc96680b7", + "cellId": "EI-L31-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B11-C1" + }, + { + "lpbca": 31, + "branch": 11, + "class": 2, + "linearIndex": 6206, + "address": "0x2aB60AcbE68c9bdDad45b55a490d23f6878641AD", + "cellId": "EI-L31-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B11-C2" + }, + { + "lpbca": 31, + "branch": 11, + "class": 3, + "linearIndex": 6207, + "address": "0xFd935155a0A6567206477D1a80fFCa23Ed54fd13", + "cellId": "EI-L31-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B11-C3" + }, + { + "lpbca": 31, + "branch": 11, + "class": 4, + "linearIndex": 6208, + "address": "0x00303f83CCc2A32a6F36ACCF5472EC78cC7B4E4c", + "cellId": "EI-L31-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B11-C4" + }, + { + "lpbca": 31, + "branch": 11, + "class": 5, + "linearIndex": 6209, + "address": "0x38Dc794846aA4eF7294a2aA2B68C66d6f4B89171", + "cellId": "EI-L31-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B11-C5" + }, + { + "lpbca": 31, + "branch": 12, + "class": 0, + "linearIndex": 6210, + "address": "0xe2eB69BAa062b034a88fF112908F5FE2Ac2C4092", + "cellId": "EI-L31-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B12-C0" + }, + { + "lpbca": 31, + "branch": 12, + "class": 1, + "linearIndex": 6211, + "address": "0x7E831A80502fA68ee3D8d615D486dA1Cb11D384B", + "cellId": "EI-L31-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B12-C1" + }, + { + "lpbca": 31, + "branch": 12, + "class": 2, + "linearIndex": 6212, + "address": "0x79B95e1ACAc777519A08e7c66c8e1b042474692B", + "cellId": "EI-L31-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B12-C2" + }, + { + "lpbca": 31, + "branch": 12, + "class": 3, + "linearIndex": 6213, + "address": "0x1166Cc00D9496F18c0054b7048364CbEe9BdF25f", + "cellId": "EI-L31-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B12-C3" + }, + { + "lpbca": 31, + "branch": 12, + "class": 4, + "linearIndex": 6214, + "address": "0x21A348e484427FE8EEA1475cf35555B590F0a28F", + "cellId": "EI-L31-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B12-C4" + }, + { + "lpbca": 31, + "branch": 12, + "class": 5, + "linearIndex": 6215, + "address": "0xDEC88dADDd655986C781fD761Aa8f0f40F2d7B1c", + "cellId": "EI-L31-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B12-C5" + }, + { + "lpbca": 31, + "branch": 13, + "class": 0, + "linearIndex": 6216, + "address": "0x46dC896e847e45F013B819d66bFcdF642FF4401C", + "cellId": "EI-L31-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B13-C0" + }, + { + "lpbca": 31, + "branch": 13, + "class": 1, + "linearIndex": 6217, + "address": "0xe216C66B30e623A15AEfb83c24d4671C2ac95Ea1", + "cellId": "EI-L31-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B13-C1" + }, + { + "lpbca": 31, + "branch": 13, + "class": 2, + "linearIndex": 6218, + "address": "0xD5595021D9bc1E66acC8E41D5933D5EaCa64ED46", + "cellId": "EI-L31-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B13-C2" + }, + { + "lpbca": 31, + "branch": 13, + "class": 3, + "linearIndex": 6219, + "address": "0x7838900925805e525cD5F1727F9416d5aBeB190D", + "cellId": "EI-L31-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B13-C3" + }, + { + "lpbca": 31, + "branch": 13, + "class": 4, + "linearIndex": 6220, + "address": "0x84d682C0cB40D51B06A7C9e2a8ee52082215117d", + "cellId": "EI-L31-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B13-C4" + }, + { + "lpbca": 31, + "branch": 13, + "class": 5, + "linearIndex": 6221, + "address": "0x8977233a7d7E335f1D5A976486f99dCa42A0451A", + "cellId": "EI-L31-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B13-C5" + }, + { + "lpbca": 31, + "branch": 14, + "class": 0, + "linearIndex": 6222, + "address": "0xed1b318b60856E85416d5de79F373f52D1d16271", + "cellId": "EI-L31-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B14-C0" + }, + { + "lpbca": 31, + "branch": 14, + "class": 1, + "linearIndex": 6223, + "address": "0x14382A5687A4923B3492f080c60aE5fBed1aCFB1", + "cellId": "EI-L31-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B14-C1" + }, + { + "lpbca": 31, + "branch": 14, + "class": 2, + "linearIndex": 6224, + "address": "0x77F7199760BBf2e5CdadAAc6DA3A3216970C5005", + "cellId": "EI-L31-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B14-C2" + }, + { + "lpbca": 31, + "branch": 14, + "class": 3, + "linearIndex": 6225, + "address": "0xcB90F9d6c5a237B390BeAb5D9A80F7Fb934418C8", + "cellId": "EI-L31-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B14-C3" + }, + { + "lpbca": 31, + "branch": 14, + "class": 4, + "linearIndex": 6226, + "address": "0x8D1174c9F12Ea2b6900d78d53ef93CF99c66cEaC", + "cellId": "EI-L31-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B14-C4" + }, + { + "lpbca": 31, + "branch": 14, + "class": 5, + "linearIndex": 6227, + "address": "0x46c0a53d4135C82776F6Ad5Dad90d1cEe14B56ce", + "cellId": "EI-L31-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B14-C5" + }, + { + "lpbca": 31, + "branch": 15, + "class": 0, + "linearIndex": 6228, + "address": "0x6dCD894821981B77869136b0c6B08620ED0Cc265", + "cellId": "EI-L31-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B15-C0" + }, + { + "lpbca": 31, + "branch": 15, + "class": 1, + "linearIndex": 6229, + "address": "0xCCCff0a1B6740783f9C2229Ea01ee70e7730cED5", + "cellId": "EI-L31-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B15-C1" + }, + { + "lpbca": 31, + "branch": 15, + "class": 2, + "linearIndex": 6230, + "address": "0x99c9b6b385A4680D436395Ae731c7Dea497A3480", + "cellId": "EI-L31-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B15-C2" + }, + { + "lpbca": 31, + "branch": 15, + "class": 3, + "linearIndex": 6231, + "address": "0x7AD5C90ed5522992D75f0BE07f6667E577d23EDE", + "cellId": "EI-L31-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B15-C3" + }, + { + "lpbca": 31, + "branch": 15, + "class": 4, + "linearIndex": 6232, + "address": "0x7aD460682d170B0c16fd2B6C2B69448781be84A1", + "cellId": "EI-L31-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B15-C4" + }, + { + "lpbca": 31, + "branch": 15, + "class": 5, + "linearIndex": 6233, + "address": "0x9945e7C28cAA71C037dC7C97BFe4a280aE693548", + "cellId": "EI-L31-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B15-C5" + }, + { + "lpbca": 31, + "branch": 16, + "class": 0, + "linearIndex": 6234, + "address": "0x74947C1C8531BE37B029eC5A92f4C23cA8318944", + "cellId": "EI-L31-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B16-C0" + }, + { + "lpbca": 31, + "branch": 16, + "class": 1, + "linearIndex": 6235, + "address": "0x942A7104ff0262c714E260BDA6a02DBA40d1c906", + "cellId": "EI-L31-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B16-C1" + }, + { + "lpbca": 31, + "branch": 16, + "class": 2, + "linearIndex": 6236, + "address": "0x9E83EAa178857597737A2A984510C0F660DbDeb1", + "cellId": "EI-L31-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B16-C2" + }, + { + "lpbca": 31, + "branch": 16, + "class": 3, + "linearIndex": 6237, + "address": "0x0f8E4B2238331F9A2F958EabD9AadD1f16535c84", + "cellId": "EI-L31-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B16-C3" + }, + { + "lpbca": 31, + "branch": 16, + "class": 4, + "linearIndex": 6238, + "address": "0xab0A539D9Cf6b4602A2FD522e01bcb1E2F7B04f3", + "cellId": "EI-L31-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B16-C4" + }, + { + "lpbca": 31, + "branch": 16, + "class": 5, + "linearIndex": 6239, + "address": "0xcB3Fc65350B78ebaD0Bc5345571859362E1ac712", + "cellId": "EI-L31-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B16-C5" + }, + { + "lpbca": 31, + "branch": 17, + "class": 0, + "linearIndex": 6240, + "address": "0xe1EE7F0a7799985Bb250C54247A8181C4907CEcf", + "cellId": "EI-L31-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B17-C0" + }, + { + "lpbca": 31, + "branch": 17, + "class": 1, + "linearIndex": 6241, + "address": "0x67b7F5855f6Ff8557a67Ff2B1A364ff831423e7D", + "cellId": "EI-L31-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B17-C1" + }, + { + "lpbca": 31, + "branch": 17, + "class": 2, + "linearIndex": 6242, + "address": "0x663939B2Dc6fc90e4a405F54302483686503C81B", + "cellId": "EI-L31-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B17-C2" + }, + { + "lpbca": 31, + "branch": 17, + "class": 3, + "linearIndex": 6243, + "address": "0x596a7Eb5f604e52E5c7D0177eEE498c60603bA1d", + "cellId": "EI-L31-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B17-C3" + }, + { + "lpbca": 31, + "branch": 17, + "class": 4, + "linearIndex": 6244, + "address": "0x4B82077E4fc927D1264c9B2A796B7f8Bb17C76Fe", + "cellId": "EI-L31-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B17-C4" + }, + { + "lpbca": 31, + "branch": 17, + "class": 5, + "linearIndex": 6245, + "address": "0x02d64A4D8AF05cFFe04E38B2d280c2155fae6a59", + "cellId": "EI-L31-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B17-C5" + }, + { + "lpbca": 31, + "branch": 18, + "class": 0, + "linearIndex": 6246, + "address": "0xa565833cfa610d992439Fec21cBCA4d77b1270b1", + "cellId": "EI-L31-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B18-C0" + }, + { + "lpbca": 31, + "branch": 18, + "class": 1, + "linearIndex": 6247, + "address": "0xCb965F3b4f89bFEc9b8d818f16f6ED9B30a0BFdd", + "cellId": "EI-L31-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B18-C1" + }, + { + "lpbca": 31, + "branch": 18, + "class": 2, + "linearIndex": 6248, + "address": "0xa0F1AF9D14A7c1410942B50401BbC9780ddEA90f", + "cellId": "EI-L31-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B18-C2" + }, + { + "lpbca": 31, + "branch": 18, + "class": 3, + "linearIndex": 6249, + "address": "0xfdF94C9f9717938ef5B85298E5D6d988DD5ad45f", + "cellId": "EI-L31-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B18-C3" + }, + { + "lpbca": 31, + "branch": 18, + "class": 4, + "linearIndex": 6250, + "address": "0xA693A552E87ad0d637cd0519B9c1d43FB8d8b322", + "cellId": "EI-L31-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B18-C4" + }, + { + "lpbca": 31, + "branch": 18, + "class": 5, + "linearIndex": 6251, + "address": "0x13A724e09bB4CDF8d24a8CF2150Bcf3598dfD494", + "cellId": "EI-L31-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B18-C5" + }, + { + "lpbca": 31, + "branch": 19, + "class": 0, + "linearIndex": 6252, + "address": "0xa12c8Fe9550B07a1c776fBecc47D0aDe18AE1cA0", + "cellId": "EI-L31-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B19-C0" + }, + { + "lpbca": 31, + "branch": 19, + "class": 1, + "linearIndex": 6253, + "address": "0x968Bd65C78ab6888B8aAE5F06e1731aA879310F4", + "cellId": "EI-L31-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B19-C1" + }, + { + "lpbca": 31, + "branch": 19, + "class": 2, + "linearIndex": 6254, + "address": "0x1Fb4025093E2e676F8f682043C866e526f134099", + "cellId": "EI-L31-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B19-C2" + }, + { + "lpbca": 31, + "branch": 19, + "class": 3, + "linearIndex": 6255, + "address": "0xEaA18f39fe5e15ce667B241ED55f784d7bFE5d40", + "cellId": "EI-L31-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B19-C3" + }, + { + "lpbca": 31, + "branch": 19, + "class": 4, + "linearIndex": 6256, + "address": "0xe79D9347f8C5Cc3A507448be1A15996Ce82345F7", + "cellId": "EI-L31-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B19-C4" + }, + { + "lpbca": 31, + "branch": 19, + "class": 5, + "linearIndex": 6257, + "address": "0xaE8bc04f0A7d7AEAaCc6fd8eB995c13c1Bf742bE", + "cellId": "EI-L31-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B19-C5" + }, + { + "lpbca": 31, + "branch": 20, + "class": 0, + "linearIndex": 6258, + "address": "0x092007Bec542f6F33334B0c003CECbeD99Aa0cB1", + "cellId": "EI-L31-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B20-C0" + }, + { + "lpbca": 31, + "branch": 20, + "class": 1, + "linearIndex": 6259, + "address": "0x2270b2e46AB4713784f7B5a74F3617E2065F84A6", + "cellId": "EI-L31-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B20-C1" + }, + { + "lpbca": 31, + "branch": 20, + "class": 2, + "linearIndex": 6260, + "address": "0x79085c53f78Af5f0D45070B86CBd7dFD88005C55", + "cellId": "EI-L31-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B20-C2" + }, + { + "lpbca": 31, + "branch": 20, + "class": 3, + "linearIndex": 6261, + "address": "0x11CA4fdFa224b3D5f5d8bF5a72189901d9646deF", + "cellId": "EI-L31-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B20-C3" + }, + { + "lpbca": 31, + "branch": 20, + "class": 4, + "linearIndex": 6262, + "address": "0x6a8184856419566c78688468D93c9b9Aa91d8F95", + "cellId": "EI-L31-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B20-C4" + }, + { + "lpbca": 31, + "branch": 20, + "class": 5, + "linearIndex": 6263, + "address": "0x62CeeD465553c9fc876BBe19fE95c6c41E5768fb", + "cellId": "EI-L31-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B20-C5" + }, + { + "lpbca": 31, + "branch": 21, + "class": 0, + "linearIndex": 6264, + "address": "0xec8Ffccc25579fb5c64AbCe117856A91591911f5", + "cellId": "EI-L31-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B21-C0" + }, + { + "lpbca": 31, + "branch": 21, + "class": 1, + "linearIndex": 6265, + "address": "0x733fbA5665876cb1aF97f28793d7AC2fa66df8d1", + "cellId": "EI-L31-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B21-C1" + }, + { + "lpbca": 31, + "branch": 21, + "class": 2, + "linearIndex": 6266, + "address": "0xCc2F3019Dedb783000D543E3A559019cb59e2dFa", + "cellId": "EI-L31-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B21-C2" + }, + { + "lpbca": 31, + "branch": 21, + "class": 3, + "linearIndex": 6267, + "address": "0xD91b119834eAFAf6a8c2f82C8AC6F62B55a499c4", + "cellId": "EI-L31-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B21-C3" + }, + { + "lpbca": 31, + "branch": 21, + "class": 4, + "linearIndex": 6268, + "address": "0x1eafB7F16CefA54eeA6CCdCe5B6beB0ecB6307f0", + "cellId": "EI-L31-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B21-C4" + }, + { + "lpbca": 31, + "branch": 21, + "class": 5, + "linearIndex": 6269, + "address": "0xef3b784f966249a90820b4C707304dd7083d7716", + "cellId": "EI-L31-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B21-C5" + }, + { + "lpbca": 31, + "branch": 22, + "class": 0, + "linearIndex": 6270, + "address": "0x33A83CE7131D4f89cCa47D51b220cA4EA09d5B89", + "cellId": "EI-L31-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B22-C0" + }, + { + "lpbca": 31, + "branch": 22, + "class": 1, + "linearIndex": 6271, + "address": "0x07Df0a307b572d27038210E0f03Eb471094B2a0C", + "cellId": "EI-L31-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B22-C1" + }, + { + "lpbca": 31, + "branch": 22, + "class": 2, + "linearIndex": 6272, + "address": "0xEF3977960B3eD5c25DCA6aA110C7F58da14eA8b2", + "cellId": "EI-L31-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B22-C2" + }, + { + "lpbca": 31, + "branch": 22, + "class": 3, + "linearIndex": 6273, + "address": "0xF56d910d6fAC2C9b0E0eC752021C102506c85BBD", + "cellId": "EI-L31-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B22-C3" + }, + { + "lpbca": 31, + "branch": 22, + "class": 4, + "linearIndex": 6274, + "address": "0x55C008CAFeCBa7fb05f62B2E69CA787DB9F6ec62", + "cellId": "EI-L31-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B22-C4" + }, + { + "lpbca": 31, + "branch": 22, + "class": 5, + "linearIndex": 6275, + "address": "0xDb70e1A8DDc1BCBE3209A24eb7E852Fa7199c7EF", + "cellId": "EI-L31-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B22-C5" + }, + { + "lpbca": 31, + "branch": 23, + "class": 0, + "linearIndex": 6276, + "address": "0xED3AfE7121161Bd4746B8F16dE24f390130BcA6F", + "cellId": "EI-L31-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B23-C0" + }, + { + "lpbca": 31, + "branch": 23, + "class": 1, + "linearIndex": 6277, + "address": "0xAf6A5FdCF9f5eA38a3893F6E7cd3bc096a8bFAF7", + "cellId": "EI-L31-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B23-C1" + }, + { + "lpbca": 31, + "branch": 23, + "class": 2, + "linearIndex": 6278, + "address": "0xd503c7c6B7d7e0Edbc54B0Fe04020695bA17Ea84", + "cellId": "EI-L31-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B23-C2" + }, + { + "lpbca": 31, + "branch": 23, + "class": 3, + "linearIndex": 6279, + "address": "0x181ae0C81905e81264b3A4a8f252FD3D97887bc7", + "cellId": "EI-L31-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B23-C3" + }, + { + "lpbca": 31, + "branch": 23, + "class": 4, + "linearIndex": 6280, + "address": "0x423eC135FBFEaD829A88Eb6e605F338b0c7dfBcd", + "cellId": "EI-L31-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B23-C4" + }, + { + "lpbca": 31, + "branch": 23, + "class": 5, + "linearIndex": 6281, + "address": "0x6CBb2BAB32672A13E5Cc0342502b0A9d5deaC1B1", + "cellId": "EI-L31-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B23-C5" + }, + { + "lpbca": 31, + "branch": 24, + "class": 0, + "linearIndex": 6282, + "address": "0xFDEdEd580D9c6Ae1AeDACc76bB57E8Cf0ef72714", + "cellId": "EI-L31-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B24-C0" + }, + { + "lpbca": 31, + "branch": 24, + "class": 1, + "linearIndex": 6283, + "address": "0xF59ffB6818452e9F42eA1FC08f50B588f3e23C56", + "cellId": "EI-L31-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B24-C1" + }, + { + "lpbca": 31, + "branch": 24, + "class": 2, + "linearIndex": 6284, + "address": "0x8626435C20a087Fc3fA143E607b5ed7F154527eF", + "cellId": "EI-L31-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B24-C2" + }, + { + "lpbca": 31, + "branch": 24, + "class": 3, + "linearIndex": 6285, + "address": "0x17382b932A56E2ba3D0c688288CBe438d61570F0", + "cellId": "EI-L31-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B24-C3" + }, + { + "lpbca": 31, + "branch": 24, + "class": 4, + "linearIndex": 6286, + "address": "0xB414A7d626f808fDa3f82767110FeD565432E7f5", + "cellId": "EI-L31-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B24-C4" + }, + { + "lpbca": 31, + "branch": 24, + "class": 5, + "linearIndex": 6287, + "address": "0x943B2011C21AC7d628aF22cAD2b942FD4F63c764", + "cellId": "EI-L31-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B24-C5" + }, + { + "lpbca": 31, + "branch": 25, + "class": 0, + "linearIndex": 6288, + "address": "0x8A8286E973EBD8B5b72A414B9638B7ECb47F7c11", + "cellId": "EI-L31-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B25-C0" + }, + { + "lpbca": 31, + "branch": 25, + "class": 1, + "linearIndex": 6289, + "address": "0x37f7b56e696B11438A1Efd8116bB2Cd98bF4E77D", + "cellId": "EI-L31-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B25-C1" + }, + { + "lpbca": 31, + "branch": 25, + "class": 2, + "linearIndex": 6290, + "address": "0x1710311375d9D7a1075B5023c5F2151746945400", + "cellId": "EI-L31-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B25-C2" + }, + { + "lpbca": 31, + "branch": 25, + "class": 3, + "linearIndex": 6291, + "address": "0xC43bBfCa94483fb6d40c7De6F07fD03C3a16b970", + "cellId": "EI-L31-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B25-C3" + }, + { + "lpbca": 31, + "branch": 25, + "class": 4, + "linearIndex": 6292, + "address": "0xC09C7BbF90e1A6f575e04767002c7d1cf3B31480", + "cellId": "EI-L31-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B25-C4" + }, + { + "lpbca": 31, + "branch": 25, + "class": 5, + "linearIndex": 6293, + "address": "0x94E3F5BE4977B2EB09EfB37A71550066fd57EfAC", + "cellId": "EI-L31-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B25-C5" + }, + { + "lpbca": 31, + "branch": 26, + "class": 0, + "linearIndex": 6294, + "address": "0x3b04f03bac8bb2821f692DdA71f8B85Da9c973b0", + "cellId": "EI-L31-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B26-C0" + }, + { + "lpbca": 31, + "branch": 26, + "class": 1, + "linearIndex": 6295, + "address": "0x617353d4a9f0A2161d7e86F30731455122F7F739", + "cellId": "EI-L31-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B26-C1" + }, + { + "lpbca": 31, + "branch": 26, + "class": 2, + "linearIndex": 6296, + "address": "0x31C4c19c2fBB7a431d48dACa198Cc237387dBCaC", + "cellId": "EI-L31-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B26-C2" + }, + { + "lpbca": 31, + "branch": 26, + "class": 3, + "linearIndex": 6297, + "address": "0x2fAf6f5dD820A8f605C59786051c0771d67a0418", + "cellId": "EI-L31-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B26-C3" + }, + { + "lpbca": 31, + "branch": 26, + "class": 4, + "linearIndex": 6298, + "address": "0xed575153c7C1843F86965a4809b7FF2258675826", + "cellId": "EI-L31-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B26-C4" + }, + { + "lpbca": 31, + "branch": 26, + "class": 5, + "linearIndex": 6299, + "address": "0x31f5feF0dbcc681E25d791E74FA9c41120c0f4EF", + "cellId": "EI-L31-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B26-C5" + }, + { + "lpbca": 31, + "branch": 27, + "class": 0, + "linearIndex": 6300, + "address": "0x469619933af3e9f031CcF1E3488761B11E3cC624", + "cellId": "EI-L31-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B27-C0" + }, + { + "lpbca": 31, + "branch": 27, + "class": 1, + "linearIndex": 6301, + "address": "0x355a8584e056c298dbe4Ae853B5e0ed278D0506E", + "cellId": "EI-L31-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B27-C1" + }, + { + "lpbca": 31, + "branch": 27, + "class": 2, + "linearIndex": 6302, + "address": "0xd512866178c46A3b264F863424674d435dDB7D49", + "cellId": "EI-L31-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B27-C2" + }, + { + "lpbca": 31, + "branch": 27, + "class": 3, + "linearIndex": 6303, + "address": "0x7fEBE224756724724eA1393aF19E33ED31A6B98E", + "cellId": "EI-L31-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B27-C3" + }, + { + "lpbca": 31, + "branch": 27, + "class": 4, + "linearIndex": 6304, + "address": "0xB38eA5fE016FBBd9AF2176245Bd451b64f01E55E", + "cellId": "EI-L31-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B27-C4" + }, + { + "lpbca": 31, + "branch": 27, + "class": 5, + "linearIndex": 6305, + "address": "0x53E9598b4D21cC9b9DE944482E464B3EbfC48428", + "cellId": "EI-L31-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B27-C5" + }, + { + "lpbca": 31, + "branch": 28, + "class": 0, + "linearIndex": 6306, + "address": "0x91cDD7D39bFbc90bD486536CBEC0Dc47290ecb42", + "cellId": "EI-L31-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B28-C0" + }, + { + "lpbca": 31, + "branch": 28, + "class": 1, + "linearIndex": 6307, + "address": "0xD170999984A643A160ddC1989e058da18b0aEA2c", + "cellId": "EI-L31-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B28-C1" + }, + { + "lpbca": 31, + "branch": 28, + "class": 2, + "linearIndex": 6308, + "address": "0xA42D3bFa9e2bAc2aa6d398015FBE48e3db540F6d", + "cellId": "EI-L31-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B28-C2" + }, + { + "lpbca": 31, + "branch": 28, + "class": 3, + "linearIndex": 6309, + "address": "0xb99851e0579fB93D97bFcB7E219ffB9cB54EFD7C", + "cellId": "EI-L31-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B28-C3" + }, + { + "lpbca": 31, + "branch": 28, + "class": 4, + "linearIndex": 6310, + "address": "0xD4345917C3cf46D1DCa66160C82820e2d4F01927", + "cellId": "EI-L31-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B28-C4" + }, + { + "lpbca": 31, + "branch": 28, + "class": 5, + "linearIndex": 6311, + "address": "0x9aD1bD1cC521f28601e8424013Cd1486Df92c2e4", + "cellId": "EI-L31-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B28-C5" + }, + { + "lpbca": 31, + "branch": 29, + "class": 0, + "linearIndex": 6312, + "address": "0x6a40DA56A3c11ba52F926518Ac9302fbA9b7a261", + "cellId": "EI-L31-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B29-C0" + }, + { + "lpbca": 31, + "branch": 29, + "class": 1, + "linearIndex": 6313, + "address": "0xAc803436A4b697C2a49269ad7B1a9C8d42197Ff7", + "cellId": "EI-L31-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B29-C1" + }, + { + "lpbca": 31, + "branch": 29, + "class": 2, + "linearIndex": 6314, + "address": "0xC7bCFf8E6859032fbFA7c5D06A44c38805dAc1E6", + "cellId": "EI-L31-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B29-C2" + }, + { + "lpbca": 31, + "branch": 29, + "class": 3, + "linearIndex": 6315, + "address": "0x1E02208F930311Cd286Ecc1A872B06B4F7cB798b", + "cellId": "EI-L31-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B29-C3" + }, + { + "lpbca": 31, + "branch": 29, + "class": 4, + "linearIndex": 6316, + "address": "0x72C045F94CaC41Fd31689eBffFd42b26dee5aC73", + "cellId": "EI-L31-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B29-C4" + }, + { + "lpbca": 31, + "branch": 29, + "class": 5, + "linearIndex": 6317, + "address": "0x4865fa8DDb5Acb7b9768541225536B1F53857ef0", + "cellId": "EI-L31-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B29-C5" + }, + { + "lpbca": 31, + "branch": 30, + "class": 0, + "linearIndex": 6318, + "address": "0xe1657C8e72AaeFE40c7B276b3021215B59F72b7d", + "cellId": "EI-L31-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B30-C0" + }, + { + "lpbca": 31, + "branch": 30, + "class": 1, + "linearIndex": 6319, + "address": "0x5b5bb3aFf2E310C27e7888e7Dc6fdF7b26f488b8", + "cellId": "EI-L31-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B30-C1" + }, + { + "lpbca": 31, + "branch": 30, + "class": 2, + "linearIndex": 6320, + "address": "0xA7DA6339c52699B568b2B0E374466a9432435e81", + "cellId": "EI-L31-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B30-C2" + }, + { + "lpbca": 31, + "branch": 30, + "class": 3, + "linearIndex": 6321, + "address": "0xB83c01EaEb572EeAFa93E284a2f2D854F24772E2", + "cellId": "EI-L31-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B30-C3" + }, + { + "lpbca": 31, + "branch": 30, + "class": 4, + "linearIndex": 6322, + "address": "0xA0bD89B70b26426a810cde78f42aDCb5e2a5C357", + "cellId": "EI-L31-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B30-C4" + }, + { + "lpbca": 31, + "branch": 30, + "class": 5, + "linearIndex": 6323, + "address": "0x78B03f1BeDfc8FA941142264b22E2d962845C6BB", + "cellId": "EI-L31-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B30-C5" + }, + { + "lpbca": 31, + "branch": 31, + "class": 0, + "linearIndex": 6324, + "address": "0xa7cD9625E9E119e80fB84E8D5D08D628219b1d27", + "cellId": "EI-L31-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B31-C0" + }, + { + "lpbca": 31, + "branch": 31, + "class": 1, + "linearIndex": 6325, + "address": "0xc409C4dd8fDA326A54235654F92d619631B845bb", + "cellId": "EI-L31-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B31-C1" + }, + { + "lpbca": 31, + "branch": 31, + "class": 2, + "linearIndex": 6326, + "address": "0x1D53591B5D64ad10Ec59F3494475C3E2DF0D92a0", + "cellId": "EI-L31-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B31-C2" + }, + { + "lpbca": 31, + "branch": 31, + "class": 3, + "linearIndex": 6327, + "address": "0xc7f65610E3C107ba3fE141fF1160368DEEBbAEE8", + "cellId": "EI-L31-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B31-C3" + }, + { + "lpbca": 31, + "branch": 31, + "class": 4, + "linearIndex": 6328, + "address": "0x5635fcd6cc536bdb6734e8AeC568643e9735c364", + "cellId": "EI-L31-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B31-C4" + }, + { + "lpbca": 31, + "branch": 31, + "class": 5, + "linearIndex": 6329, + "address": "0x18F0ebbB9D057f585e0E741Bb8824B058c218c65", + "cellId": "EI-L31-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B31-C5" + }, + { + "lpbca": 31, + "branch": 32, + "class": 0, + "linearIndex": 6330, + "address": "0x31e47C30A033148E1315fdE6910841f4551670D9", + "cellId": "EI-L31-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B32-C0" + }, + { + "lpbca": 31, + "branch": 32, + "class": 1, + "linearIndex": 6331, + "address": "0x4bf5f64C622d89A68c2D4b5C9C44A34041dA66B3", + "cellId": "EI-L31-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B32-C1" + }, + { + "lpbca": 31, + "branch": 32, + "class": 2, + "linearIndex": 6332, + "address": "0x9F63022582599450416A177aAf6cC1172D56f923", + "cellId": "EI-L31-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B32-C2" + }, + { + "lpbca": 31, + "branch": 32, + "class": 3, + "linearIndex": 6333, + "address": "0x9142F6be0eD2d2bd35308F7B0fdCD411c73a5627", + "cellId": "EI-L31-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B32-C3" + }, + { + "lpbca": 31, + "branch": 32, + "class": 4, + "linearIndex": 6334, + "address": "0x527aa4BAd2FB9df004E38894e3A584090E47e199", + "cellId": "EI-L31-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B32-C4" + }, + { + "lpbca": 31, + "branch": 32, + "class": 5, + "linearIndex": 6335, + "address": "0x3Be2561839A331ae8c036D9454F98fd11875d1c0", + "cellId": "EI-L31-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L31-B32-C5" + }, + { + "lpbca": 32, + "branch": 0, + "class": 0, + "linearIndex": 6336, + "address": "0xA416e074F57de46Da8fBD1d2C8EB2Ee402F84029", + "cellId": "EI-L32-B00-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B00-C0" + }, + { + "lpbca": 32, + "branch": 0, + "class": 1, + "linearIndex": 6337, + "address": "0x1Ad66Cdf296824D9e2947D74868690AFba4d0740", + "cellId": "EI-L32-B00-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B00-C1" + }, + { + "lpbca": 32, + "branch": 0, + "class": 2, + "linearIndex": 6338, + "address": "0x855Ce2F0309D4aFCaF90D7b78B17fd8322c957c3", + "cellId": "EI-L32-B00-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B00-C2" + }, + { + "lpbca": 32, + "branch": 0, + "class": 3, + "linearIndex": 6339, + "address": "0x2d3D5cfE9Dc0620CbaE8d488fF0B7126BCb8100C", + "cellId": "EI-L32-B00-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B00-C3" + }, + { + "lpbca": 32, + "branch": 0, + "class": 4, + "linearIndex": 6340, + "address": "0x7c1d27cfbdeC666A9dED2307D4F87B1e2EF70f9D", + "cellId": "EI-L32-B00-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B00-C4" + }, + { + "lpbca": 32, + "branch": 0, + "class": 5, + "linearIndex": 6341, + "address": "0xAC09F8F798D3F6a1a80Fd3418fE0E71f4DA0c6c9", + "cellId": "EI-L32-B00-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B00-C5" + }, + { + "lpbca": 32, + "branch": 1, + "class": 0, + "linearIndex": 6342, + "address": "0x9bF6Cf35ad81c1DA6fC1b3278439Ca9b6d75Edf6", + "cellId": "EI-L32-B01-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B01-C0" + }, + { + "lpbca": 32, + "branch": 1, + "class": 1, + "linearIndex": 6343, + "address": "0x00653F7C7DA27a2bf5CC96E24dc9705Daf7805ca", + "cellId": "EI-L32-B01-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B01-C1" + }, + { + "lpbca": 32, + "branch": 1, + "class": 2, + "linearIndex": 6344, + "address": "0xE7998e3fFb3860B9B23eCD3aA9A4A3CaA51A95D6", + "cellId": "EI-L32-B01-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B01-C2" + }, + { + "lpbca": 32, + "branch": 1, + "class": 3, + "linearIndex": 6345, + "address": "0x0014B8d87139709B2729f650fE3B8424b275f3Ea", + "cellId": "EI-L32-B01-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B01-C3" + }, + { + "lpbca": 32, + "branch": 1, + "class": 4, + "linearIndex": 6346, + "address": "0xd33cce9172DA2AC5C8da61b11B9539728d243F5F", + "cellId": "EI-L32-B01-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B01-C4" + }, + { + "lpbca": 32, + "branch": 1, + "class": 5, + "linearIndex": 6347, + "address": "0x7a27F5dcFc09a00b8a7594808E4d0BD05c3eFfFF", + "cellId": "EI-L32-B01-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B01-C5" + }, + { + "lpbca": 32, + "branch": 2, + "class": 0, + "linearIndex": 6348, + "address": "0x02b1c277EF299D262a0d1EC8026b0852D1f19cD0", + "cellId": "EI-L32-B02-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B02-C0" + }, + { + "lpbca": 32, + "branch": 2, + "class": 1, + "linearIndex": 6349, + "address": "0xAfC978b36Cd78091F1aC0065F2828D4b4C9d9A87", + "cellId": "EI-L32-B02-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B02-C1" + }, + { + "lpbca": 32, + "branch": 2, + "class": 2, + "linearIndex": 6350, + "address": "0x16f5ac0428C2260d8726B649eBDB49EB1F596Ff9", + "cellId": "EI-L32-B02-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B02-C2" + }, + { + "lpbca": 32, + "branch": 2, + "class": 3, + "linearIndex": 6351, + "address": "0x9257B0F8F6fcCD19E26DA21F1D0530474ccBEd32", + "cellId": "EI-L32-B02-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B02-C3" + }, + { + "lpbca": 32, + "branch": 2, + "class": 4, + "linearIndex": 6352, + "address": "0x5eD98E08393ec6fc81fC957a441fa14D21DC7ac4", + "cellId": "EI-L32-B02-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B02-C4" + }, + { + "lpbca": 32, + "branch": 2, + "class": 5, + "linearIndex": 6353, + "address": "0x337959c3072af387263f6bc5eEB3644A41b80Aa4", + "cellId": "EI-L32-B02-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B02-C5" + }, + { + "lpbca": 32, + "branch": 3, + "class": 0, + "linearIndex": 6354, + "address": "0xDBb58cf209aE12ED49A4a0d18f2bc51E0e8C85cB", + "cellId": "EI-L32-B03-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B03-C0" + }, + { + "lpbca": 32, + "branch": 3, + "class": 1, + "linearIndex": 6355, + "address": "0x8d13eb78901045985bBC499F3C5C24ecBB3D05Ac", + "cellId": "EI-L32-B03-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B03-C1" + }, + { + "lpbca": 32, + "branch": 3, + "class": 2, + "linearIndex": 6356, + "address": "0x7427802256984019fB6ed7eB02178639307693F4", + "cellId": "EI-L32-B03-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B03-C2" + }, + { + "lpbca": 32, + "branch": 3, + "class": 3, + "linearIndex": 6357, + "address": "0x77B636C229f7054850D3614a400f9bDA16CB5a02", + "cellId": "EI-L32-B03-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B03-C3" + }, + { + "lpbca": 32, + "branch": 3, + "class": 4, + "linearIndex": 6358, + "address": "0x1cB02bfb200A98C94A2DB4CE359D21BCCB612bce", + "cellId": "EI-L32-B03-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B03-C4" + }, + { + "lpbca": 32, + "branch": 3, + "class": 5, + "linearIndex": 6359, + "address": "0x9E8b3f4aD9dA42441946Bcf7A1F2045e02C723d4", + "cellId": "EI-L32-B03-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B03-C5" + }, + { + "lpbca": 32, + "branch": 4, + "class": 0, + "linearIndex": 6360, + "address": "0xd777220f9Ddb70833c3BC6aD544d014078c7368f", + "cellId": "EI-L32-B04-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B04-C0" + }, + { + "lpbca": 32, + "branch": 4, + "class": 1, + "linearIndex": 6361, + "address": "0xc5EADDe17154073e7C48D47a7bC4d9F61ccE9ed5", + "cellId": "EI-L32-B04-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B04-C1" + }, + { + "lpbca": 32, + "branch": 4, + "class": 2, + "linearIndex": 6362, + "address": "0x68A6018cBbB871C1470C324BE0e320d4FFFBFFeb", + "cellId": "EI-L32-B04-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B04-C2" + }, + { + "lpbca": 32, + "branch": 4, + "class": 3, + "linearIndex": 6363, + "address": "0x68503fC1a3895d233895D91E3640775062e6e91D", + "cellId": "EI-L32-B04-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B04-C3" + }, + { + "lpbca": 32, + "branch": 4, + "class": 4, + "linearIndex": 6364, + "address": "0x490FD41eCB77c1fb858c33bF61A289e365ab30a1", + "cellId": "EI-L32-B04-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B04-C4" + }, + { + "lpbca": 32, + "branch": 4, + "class": 5, + "linearIndex": 6365, + "address": "0x146CBb87b31AEd55aBf021C049c6cA191d1d699a", + "cellId": "EI-L32-B04-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B04-C5" + }, + { + "lpbca": 32, + "branch": 5, + "class": 0, + "linearIndex": 6366, + "address": "0x38A2d82f205f499237e4e1C04b263ec2b09c27dA", + "cellId": "EI-L32-B05-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B05-C0" + }, + { + "lpbca": 32, + "branch": 5, + "class": 1, + "linearIndex": 6367, + "address": "0x6957533f426427aDA7b9B193d609af4005357F63", + "cellId": "EI-L32-B05-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B05-C1" + }, + { + "lpbca": 32, + "branch": 5, + "class": 2, + "linearIndex": 6368, + "address": "0x5a00fea0d2846ADc25984c32cD5Ecc17603e8D85", + "cellId": "EI-L32-B05-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B05-C2" + }, + { + "lpbca": 32, + "branch": 5, + "class": 3, + "linearIndex": 6369, + "address": "0x03D2fA9828F1bC778e55999f84EC8E956D4a5E2B", + "cellId": "EI-L32-B05-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B05-C3" + }, + { + "lpbca": 32, + "branch": 5, + "class": 4, + "linearIndex": 6370, + "address": "0x3507E883fA4dE16BC0B488EfcFed8e6A447Dc510", + "cellId": "EI-L32-B05-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B05-C4" + }, + { + "lpbca": 32, + "branch": 5, + "class": 5, + "linearIndex": 6371, + "address": "0x7705cBD7B076670C140eA53450b623FE63c87f83", + "cellId": "EI-L32-B05-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B05-C5" + }, + { + "lpbca": 32, + "branch": 6, + "class": 0, + "linearIndex": 6372, + "address": "0xe2549A8A8547E4B3EeB658E4f22Bf9C046C38123", + "cellId": "EI-L32-B06-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B06-C0" + }, + { + "lpbca": 32, + "branch": 6, + "class": 1, + "linearIndex": 6373, + "address": "0xA1F4083E0A11197CB0C84A02C1513fEfCfB2a655", + "cellId": "EI-L32-B06-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B06-C1" + }, + { + "lpbca": 32, + "branch": 6, + "class": 2, + "linearIndex": 6374, + "address": "0xBa6cf970fAeAd2e623cecD90574E3d4A15d2d9D6", + "cellId": "EI-L32-B06-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B06-C2" + }, + { + "lpbca": 32, + "branch": 6, + "class": 3, + "linearIndex": 6375, + "address": "0x6dA95c37bFA4C89e9fb1B79bBdEdE9F39690e216", + "cellId": "EI-L32-B06-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B06-C3" + }, + { + "lpbca": 32, + "branch": 6, + "class": 4, + "linearIndex": 6376, + "address": "0xD602DA5f17441C8451A81B5A1f4d458Bf52dd5ce", + "cellId": "EI-L32-B06-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B06-C4" + }, + { + "lpbca": 32, + "branch": 6, + "class": 5, + "linearIndex": 6377, + "address": "0xe946787387f2D0A1294967BEeB708fFaf60d7f40", + "cellId": "EI-L32-B06-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B06-C5" + }, + { + "lpbca": 32, + "branch": 7, + "class": 0, + "linearIndex": 6378, + "address": "0xC6CBC657CC611DCd655799e2A5ecaBA5d897dEab", + "cellId": "EI-L32-B07-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B07-C0" + }, + { + "lpbca": 32, + "branch": 7, + "class": 1, + "linearIndex": 6379, + "address": "0x90b1922a53F5F40CA7869470D497F367fB6567e1", + "cellId": "EI-L32-B07-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B07-C1" + }, + { + "lpbca": 32, + "branch": 7, + "class": 2, + "linearIndex": 6380, + "address": "0x41299bF5Ee7Ea073FaF405c822BeEDD8bCd73EB7", + "cellId": "EI-L32-B07-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B07-C2" + }, + { + "lpbca": 32, + "branch": 7, + "class": 3, + "linearIndex": 6381, + "address": "0xF3092c190A219f6a933C865727A1E7baC370E745", + "cellId": "EI-L32-B07-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B07-C3" + }, + { + "lpbca": 32, + "branch": 7, + "class": 4, + "linearIndex": 6382, + "address": "0x7c32F408DB828DD35f55F210D77B42FB2Fc39612", + "cellId": "EI-L32-B07-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B07-C4" + }, + { + "lpbca": 32, + "branch": 7, + "class": 5, + "linearIndex": 6383, + "address": "0x7d278fc6d62eEfa8dC60827C1ABF079d5A2c20BD", + "cellId": "EI-L32-B07-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B07-C5" + }, + { + "lpbca": 32, + "branch": 8, + "class": 0, + "linearIndex": 6384, + "address": "0x2A59E1bAc2FbB59FA4102Bc3Ddccd83805b2b8A4", + "cellId": "EI-L32-B08-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B08-C0" + }, + { + "lpbca": 32, + "branch": 8, + "class": 1, + "linearIndex": 6385, + "address": "0xe6502ab983E9c27Bbc5E1349D9332eB08B742D52", + "cellId": "EI-L32-B08-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B08-C1" + }, + { + "lpbca": 32, + "branch": 8, + "class": 2, + "linearIndex": 6386, + "address": "0xCFABA9De6Fa8DF606c229c6dA2815c4d48FfD082", + "cellId": "EI-L32-B08-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B08-C2" + }, + { + "lpbca": 32, + "branch": 8, + "class": 3, + "linearIndex": 6387, + "address": "0x1596Ac681ccE79cA5c25A411F42b83f1b109871e", + "cellId": "EI-L32-B08-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B08-C3" + }, + { + "lpbca": 32, + "branch": 8, + "class": 4, + "linearIndex": 6388, + "address": "0x8e2CDc4b059B35DED33FC112dFFc16356432D0f1", + "cellId": "EI-L32-B08-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B08-C4" + }, + { + "lpbca": 32, + "branch": 8, + "class": 5, + "linearIndex": 6389, + "address": "0x82adB83c6605C1b5494172A702D6D27a2b8fb64A", + "cellId": "EI-L32-B08-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B08-C5" + }, + { + "lpbca": 32, + "branch": 9, + "class": 0, + "linearIndex": 6390, + "address": "0xA26c579bAEbcFd4Cda5dffE850807DA38c7955f8", + "cellId": "EI-L32-B09-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B09-C0" + }, + { + "lpbca": 32, + "branch": 9, + "class": 1, + "linearIndex": 6391, + "address": "0x97f394c05E3863c61CbF08Be5D2D34b6c868e196", + "cellId": "EI-L32-B09-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B09-C1" + }, + { + "lpbca": 32, + "branch": 9, + "class": 2, + "linearIndex": 6392, + "address": "0xdba6F17E6Abfd3De0Ae309BEc62693a16F93144F", + "cellId": "EI-L32-B09-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B09-C2" + }, + { + "lpbca": 32, + "branch": 9, + "class": 3, + "linearIndex": 6393, + "address": "0xd71C6b521Ffce0F8556465Ea3Df04F4C34b85A11", + "cellId": "EI-L32-B09-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B09-C3" + }, + { + "lpbca": 32, + "branch": 9, + "class": 4, + "linearIndex": 6394, + "address": "0x706CbaBCed1593349C2638c86D73e94e9e937De3", + "cellId": "EI-L32-B09-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B09-C4" + }, + { + "lpbca": 32, + "branch": 9, + "class": 5, + "linearIndex": 6395, + "address": "0xc5a238c4C31EbC14Ec7c5547bC4e09FA6E889d4E", + "cellId": "EI-L32-B09-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B09-C5" + }, + { + "lpbca": 32, + "branch": 10, + "class": 0, + "linearIndex": 6396, + "address": "0xA42dE4CeA0aF74826fd670BF0219EE446aF770F9", + "cellId": "EI-L32-B10-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B10-C0" + }, + { + "lpbca": 32, + "branch": 10, + "class": 1, + "linearIndex": 6397, + "address": "0xB0336Ab52e258579cf87492275bd66ba37a58b17", + "cellId": "EI-L32-B10-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B10-C1" + }, + { + "lpbca": 32, + "branch": 10, + "class": 2, + "linearIndex": 6398, + "address": "0xF3E77Fc23D22c94BED160946937b1dBC34608482", + "cellId": "EI-L32-B10-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B10-C2" + }, + { + "lpbca": 32, + "branch": 10, + "class": 3, + "linearIndex": 6399, + "address": "0x0605cAdFB34032894e48e7eEb13466DE06Ae5579", + "cellId": "EI-L32-B10-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B10-C3" + }, + { + "lpbca": 32, + "branch": 10, + "class": 4, + "linearIndex": 6400, + "address": "0xB9434BA0F73080A058F484D21A095c948ae11Ffc", + "cellId": "EI-L32-B10-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B10-C4" + }, + { + "lpbca": 32, + "branch": 10, + "class": 5, + "linearIndex": 6401, + "address": "0xFa3B42f672E52a4699144D186B2feAe62d1a8F08", + "cellId": "EI-L32-B10-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B10-C5" + }, + { + "lpbca": 32, + "branch": 11, + "class": 0, + "linearIndex": 6402, + "address": "0x8337342fBFAF1484a3B0dFA4092dD582a98Cd9ae", + "cellId": "EI-L32-B11-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B11-C0" + }, + { + "lpbca": 32, + "branch": 11, + "class": 1, + "linearIndex": 6403, + "address": "0xB1f574e40A7A320Fd9463830A8382AdAd4B87eB0", + "cellId": "EI-L32-B11-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B11-C1" + }, + { + "lpbca": 32, + "branch": 11, + "class": 2, + "linearIndex": 6404, + "address": "0xaD6C24Ea5122d7f21A83907B9392b0CD6b4a32C5", + "cellId": "EI-L32-B11-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B11-C2" + }, + { + "lpbca": 32, + "branch": 11, + "class": 3, + "linearIndex": 6405, + "address": "0x3387320A64B2a60c401c2d27Ab0C97c027B4059f", + "cellId": "EI-L32-B11-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B11-C3" + }, + { + "lpbca": 32, + "branch": 11, + "class": 4, + "linearIndex": 6406, + "address": "0x58085Add9B7627b1e3349eD2f38B24d7b26a5108", + "cellId": "EI-L32-B11-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B11-C4" + }, + { + "lpbca": 32, + "branch": 11, + "class": 5, + "linearIndex": 6407, + "address": "0xB0C5D394B4F2898197ce2A2392815BDEBAcE60c7", + "cellId": "EI-L32-B11-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B11-C5" + }, + { + "lpbca": 32, + "branch": 12, + "class": 0, + "linearIndex": 6408, + "address": "0x20156C54Db812094D39fe1C9faBF6ca804061Dd0", + "cellId": "EI-L32-B12-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B12-C0" + }, + { + "lpbca": 32, + "branch": 12, + "class": 1, + "linearIndex": 6409, + "address": "0x3D0469cd516c2Ae7Aca1c49b151D3b30E65309c0", + "cellId": "EI-L32-B12-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B12-C1" + }, + { + "lpbca": 32, + "branch": 12, + "class": 2, + "linearIndex": 6410, + "address": "0xe5F5c5A9DD656dFb22fcE6F41Ecfe2C32Cdc3AbA", + "cellId": "EI-L32-B12-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B12-C2" + }, + { + "lpbca": 32, + "branch": 12, + "class": 3, + "linearIndex": 6411, + "address": "0xcA93a484ea099c3411BB53B4a8093A7abD7F755d", + "cellId": "EI-L32-B12-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B12-C3" + }, + { + "lpbca": 32, + "branch": 12, + "class": 4, + "linearIndex": 6412, + "address": "0x8BDf6f8972458fD9DA06530A63a55bE36496ba0D", + "cellId": "EI-L32-B12-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B12-C4" + }, + { + "lpbca": 32, + "branch": 12, + "class": 5, + "linearIndex": 6413, + "address": "0x9700Dc54475c0a784DE3e584342899B9cc2d37cD", + "cellId": "EI-L32-B12-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B12-C5" + }, + { + "lpbca": 32, + "branch": 13, + "class": 0, + "linearIndex": 6414, + "address": "0xB2b5e8AcE8eB1BB1D7101ae2dbBa41213D7d4159", + "cellId": "EI-L32-B13-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B13-C0" + }, + { + "lpbca": 32, + "branch": 13, + "class": 1, + "linearIndex": 6415, + "address": "0x3F2B52d0E711Bb980D02B4273771241A77577F52", + "cellId": "EI-L32-B13-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B13-C1" + }, + { + "lpbca": 32, + "branch": 13, + "class": 2, + "linearIndex": 6416, + "address": "0x9f30f9Fa6C3233d8FD3bc33Bd6024d645d0685FE", + "cellId": "EI-L32-B13-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B13-C2" + }, + { + "lpbca": 32, + "branch": 13, + "class": 3, + "linearIndex": 6417, + "address": "0x3bcC75D81ab3cFB3e272E058E98A3d1FaABc5ECc", + "cellId": "EI-L32-B13-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B13-C3" + }, + { + "lpbca": 32, + "branch": 13, + "class": 4, + "linearIndex": 6418, + "address": "0xfdA19B350fa29b05C2576a4752688baec919E0BE", + "cellId": "EI-L32-B13-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B13-C4" + }, + { + "lpbca": 32, + "branch": 13, + "class": 5, + "linearIndex": 6419, + "address": "0xD032FcF4b368B6bEE0Dbcd954cb6031F92508195", + "cellId": "EI-L32-B13-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B13-C5" + }, + { + "lpbca": 32, + "branch": 14, + "class": 0, + "linearIndex": 6420, + "address": "0xC921832c7EFBd8d3f76142Add5fd7A2b6b44E576", + "cellId": "EI-L32-B14-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B14-C0" + }, + { + "lpbca": 32, + "branch": 14, + "class": 1, + "linearIndex": 6421, + "address": "0xeBEA437249E2C05Fa602d1C3f5f1594B38cd064e", + "cellId": "EI-L32-B14-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B14-C1" + }, + { + "lpbca": 32, + "branch": 14, + "class": 2, + "linearIndex": 6422, + "address": "0x06E3997Ca8cF6F20A220Fa55388015C99beb719a", + "cellId": "EI-L32-B14-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B14-C2" + }, + { + "lpbca": 32, + "branch": 14, + "class": 3, + "linearIndex": 6423, + "address": "0x1B89c20E55E986317e641520Efabfaf055A3Fe08", + "cellId": "EI-L32-B14-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B14-C3" + }, + { + "lpbca": 32, + "branch": 14, + "class": 4, + "linearIndex": 6424, + "address": "0xC6019Cf63352059C57A86684645347012bf5433E", + "cellId": "EI-L32-B14-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B14-C4" + }, + { + "lpbca": 32, + "branch": 14, + "class": 5, + "linearIndex": 6425, + "address": "0x0563b949860d840a6b014C3851d65f7Ba0F82e99", + "cellId": "EI-L32-B14-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B14-C5" + }, + { + "lpbca": 32, + "branch": 15, + "class": 0, + "linearIndex": 6426, + "address": "0x3f2D08b875e74D2416c77C1D6bE032f9FF525096", + "cellId": "EI-L32-B15-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B15-C0" + }, + { + "lpbca": 32, + "branch": 15, + "class": 1, + "linearIndex": 6427, + "address": "0x864FA9F0f456b8A3Cd1b3BB860718af4c04d98e3", + "cellId": "EI-L32-B15-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B15-C1" + }, + { + "lpbca": 32, + "branch": 15, + "class": 2, + "linearIndex": 6428, + "address": "0xF8bA7753A09b11D57eA917591684c8b7E95d0f53", + "cellId": "EI-L32-B15-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B15-C2" + }, + { + "lpbca": 32, + "branch": 15, + "class": 3, + "linearIndex": 6429, + "address": "0x2181153A616c86A5fBF4Ce0C67284A4414e4fE50", + "cellId": "EI-L32-B15-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B15-C3" + }, + { + "lpbca": 32, + "branch": 15, + "class": 4, + "linearIndex": 6430, + "address": "0xEb02Caf70F32Ae7850f0F021E5Ce12505E944393", + "cellId": "EI-L32-B15-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B15-C4" + }, + { + "lpbca": 32, + "branch": 15, + "class": 5, + "linearIndex": 6431, + "address": "0x2Eac62b4A36101d6131d6F20131Ca83616347c27", + "cellId": "EI-L32-B15-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B15-C5" + }, + { + "lpbca": 32, + "branch": 16, + "class": 0, + "linearIndex": 6432, + "address": "0xc4DC302889524a1EB2A053fD7C5E6589Ce6ECF38", + "cellId": "EI-L32-B16-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B16-C0" + }, + { + "lpbca": 32, + "branch": 16, + "class": 1, + "linearIndex": 6433, + "address": "0x1a3AdA056B1C75da1Ca0e66E24B82eAE97DEFe94", + "cellId": "EI-L32-B16-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B16-C1" + }, + { + "lpbca": 32, + "branch": 16, + "class": 2, + "linearIndex": 6434, + "address": "0x0a384b5BDc190Caf990F6CFfe120a9c1817Feb92", + "cellId": "EI-L32-B16-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B16-C2" + }, + { + "lpbca": 32, + "branch": 16, + "class": 3, + "linearIndex": 6435, + "address": "0x10BB808d738e179b30B11a923cf2877bc350aefA", + "cellId": "EI-L32-B16-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B16-C3" + }, + { + "lpbca": 32, + "branch": 16, + "class": 4, + "linearIndex": 6436, + "address": "0x5DB29664D2BAe29e7C562e2e056706Be6558310B", + "cellId": "EI-L32-B16-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B16-C4" + }, + { + "lpbca": 32, + "branch": 16, + "class": 5, + "linearIndex": 6437, + "address": "0xBf4B0af50d7923773b339AAcd4FE57B073D362d7", + "cellId": "EI-L32-B16-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B16-C5" + }, + { + "lpbca": 32, + "branch": 17, + "class": 0, + "linearIndex": 6438, + "address": "0x894617b61A442C384caA7fa492a339BB479BD8da", + "cellId": "EI-L32-B17-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B17-C0" + }, + { + "lpbca": 32, + "branch": 17, + "class": 1, + "linearIndex": 6439, + "address": "0xE1E4Aca1CC179D10aCAb4fcfEA1BE0392C092596", + "cellId": "EI-L32-B17-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B17-C1" + }, + { + "lpbca": 32, + "branch": 17, + "class": 2, + "linearIndex": 6440, + "address": "0x7e644a578CB0687d29D3fbF237FabE63a2E2Ec72", + "cellId": "EI-L32-B17-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B17-C2" + }, + { + "lpbca": 32, + "branch": 17, + "class": 3, + "linearIndex": 6441, + "address": "0xF9AA825eB9170e66AC7f7ee10DD0952E018588Ae", + "cellId": "EI-L32-B17-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B17-C3" + }, + { + "lpbca": 32, + "branch": 17, + "class": 4, + "linearIndex": 6442, + "address": "0xd3d2e3285079f2D7b910B1B1e87224AA997B6541", + "cellId": "EI-L32-B17-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B17-C4" + }, + { + "lpbca": 32, + "branch": 17, + "class": 5, + "linearIndex": 6443, + "address": "0xA43D5A6619f3BdB336F989556418D374B52d7A35", + "cellId": "EI-L32-B17-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B17-C5" + }, + { + "lpbca": 32, + "branch": 18, + "class": 0, + "linearIndex": 6444, + "address": "0xd7111930f82eADB2a6612020087b9D89e59825c4", + "cellId": "EI-L32-B18-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B18-C0" + }, + { + "lpbca": 32, + "branch": 18, + "class": 1, + "linearIndex": 6445, + "address": "0x039062458567b54E8FEd0a5F24976885C0015367", + "cellId": "EI-L32-B18-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B18-C1" + }, + { + "lpbca": 32, + "branch": 18, + "class": 2, + "linearIndex": 6446, + "address": "0x90B88e5c2c46201458A463B4b5F9755531e2F52d", + "cellId": "EI-L32-B18-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B18-C2" + }, + { + "lpbca": 32, + "branch": 18, + "class": 3, + "linearIndex": 6447, + "address": "0xf27b627536a98f20569aD16DDF3979de13EC95f2", + "cellId": "EI-L32-B18-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B18-C3" + }, + { + "lpbca": 32, + "branch": 18, + "class": 4, + "linearIndex": 6448, + "address": "0xaA88A5e41Fa91ea03929C6b228bEFe7833d271b4", + "cellId": "EI-L32-B18-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B18-C4" + }, + { + "lpbca": 32, + "branch": 18, + "class": 5, + "linearIndex": 6449, + "address": "0x4f41759852f64DE25aacD2258230edA3AeC6f6b9", + "cellId": "EI-L32-B18-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B18-C5" + }, + { + "lpbca": 32, + "branch": 19, + "class": 0, + "linearIndex": 6450, + "address": "0x50415c7d5547B0adC606e5674895C0e385e22e73", + "cellId": "EI-L32-B19-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B19-C0" + }, + { + "lpbca": 32, + "branch": 19, + "class": 1, + "linearIndex": 6451, + "address": "0x872179F10046c7005AC23f32F13cCE43f9D1141f", + "cellId": "EI-L32-B19-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B19-C1" + }, + { + "lpbca": 32, + "branch": 19, + "class": 2, + "linearIndex": 6452, + "address": "0x49caA2ec3048A23db7721610a5F8E330Ab078928", + "cellId": "EI-L32-B19-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B19-C2" + }, + { + "lpbca": 32, + "branch": 19, + "class": 3, + "linearIndex": 6453, + "address": "0xDC360D90E85e50ac057E60EFfD8923e89d66fCe1", + "cellId": "EI-L32-B19-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B19-C3" + }, + { + "lpbca": 32, + "branch": 19, + "class": 4, + "linearIndex": 6454, + "address": "0x7629EBe93c35eAE17A3e9D102d6D743C2E546AFD", + "cellId": "EI-L32-B19-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B19-C4" + }, + { + "lpbca": 32, + "branch": 19, + "class": 5, + "linearIndex": 6455, + "address": "0x22B43969E5E86bb4D052B06D6B15551089F892FB", + "cellId": "EI-L32-B19-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B19-C5" + }, + { + "lpbca": 32, + "branch": 20, + "class": 0, + "linearIndex": 6456, + "address": "0xa6cbAeCABB94fa42ea02F7E523A92fb8aA563bD2", + "cellId": "EI-L32-B20-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B20-C0" + }, + { + "lpbca": 32, + "branch": 20, + "class": 1, + "linearIndex": 6457, + "address": "0xdBd31CB6648d513adE6e9498dce0cCd15729872B", + "cellId": "EI-L32-B20-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B20-C1" + }, + { + "lpbca": 32, + "branch": 20, + "class": 2, + "linearIndex": 6458, + "address": "0x622baCE64B0B8A7EC8069Aec88d4Ff63e121209b", + "cellId": "EI-L32-B20-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B20-C2" + }, + { + "lpbca": 32, + "branch": 20, + "class": 3, + "linearIndex": 6459, + "address": "0x1F708329b1634466510aA5B23EaD87646c6dA3d6", + "cellId": "EI-L32-B20-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B20-C3" + }, + { + "lpbca": 32, + "branch": 20, + "class": 4, + "linearIndex": 6460, + "address": "0x47BCaD3a6Bd55ffF4E62EBBF644066e2683d3a70", + "cellId": "EI-L32-B20-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B20-C4" + }, + { + "lpbca": 32, + "branch": 20, + "class": 5, + "linearIndex": 6461, + "address": "0x33cbd8A567B9510da7D538A1dc9BFfA4573Ee360", + "cellId": "EI-L32-B20-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B20-C5" + }, + { + "lpbca": 32, + "branch": 21, + "class": 0, + "linearIndex": 6462, + "address": "0x1e8E08B4126bBe6F6f503F4Cb08D438C906f8C31", + "cellId": "EI-L32-B21-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B21-C0" + }, + { + "lpbca": 32, + "branch": 21, + "class": 1, + "linearIndex": 6463, + "address": "0xB97F8928a15deC3e3f31fCD03D675e5E254be665", + "cellId": "EI-L32-B21-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B21-C1" + }, + { + "lpbca": 32, + "branch": 21, + "class": 2, + "linearIndex": 6464, + "address": "0xd21160049B07274546285b94dc8576FE9f505B02", + "cellId": "EI-L32-B21-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B21-C2" + }, + { + "lpbca": 32, + "branch": 21, + "class": 3, + "linearIndex": 6465, + "address": "0x415230F94af753233f6e922a1aa3EffE7478836b", + "cellId": "EI-L32-B21-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B21-C3" + }, + { + "lpbca": 32, + "branch": 21, + "class": 4, + "linearIndex": 6466, + "address": "0x59c3B9cbbD44BBF21A3201514A6Bc7A70Cd9825C", + "cellId": "EI-L32-B21-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B21-C4" + }, + { + "lpbca": 32, + "branch": 21, + "class": 5, + "linearIndex": 6467, + "address": "0x88D90B2ACC8e1B1721E706DedAa54F2cF2Db7cba", + "cellId": "EI-L32-B21-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B21-C5" + }, + { + "lpbca": 32, + "branch": 22, + "class": 0, + "linearIndex": 6468, + "address": "0x1c7A563CFDdBf7C6fC480acc338af9464aB89F12", + "cellId": "EI-L32-B22-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B22-C0" + }, + { + "lpbca": 32, + "branch": 22, + "class": 1, + "linearIndex": 6469, + "address": "0x9C65C4E2e24Dc894d543cc18BbAD96563178CB83", + "cellId": "EI-L32-B22-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B22-C1" + }, + { + "lpbca": 32, + "branch": 22, + "class": 2, + "linearIndex": 6470, + "address": "0xf4E3C48b71FCFA4dc4aE42559f7748e33e38dFDD", + "cellId": "EI-L32-B22-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B22-C2" + }, + { + "lpbca": 32, + "branch": 22, + "class": 3, + "linearIndex": 6471, + "address": "0x688EdD8c8E6AB185b3A16Ea81A7adeaD24843c0F", + "cellId": "EI-L32-B22-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B22-C3" + }, + { + "lpbca": 32, + "branch": 22, + "class": 4, + "linearIndex": 6472, + "address": "0xF969E932Ab4c4A7E6384577C011C23533E2a4650", + "cellId": "EI-L32-B22-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B22-C4" + }, + { + "lpbca": 32, + "branch": 22, + "class": 5, + "linearIndex": 6473, + "address": "0x5D2D2a4EBa571417eAcc5ef8F1868A68d8731c09", + "cellId": "EI-L32-B22-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B22-C5" + }, + { + "lpbca": 32, + "branch": 23, + "class": 0, + "linearIndex": 6474, + "address": "0xa2733652724362594Eb78cc6Dd547A25aeB1B7e9", + "cellId": "EI-L32-B23-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B23-C0" + }, + { + "lpbca": 32, + "branch": 23, + "class": 1, + "linearIndex": 6475, + "address": "0xD51B2C69B7ba065c1A5206aA20bc3599e69c5f05", + "cellId": "EI-L32-B23-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B23-C1" + }, + { + "lpbca": 32, + "branch": 23, + "class": 2, + "linearIndex": 6476, + "address": "0x4b22715A533f3cEeD0C0C42803734779A0024010", + "cellId": "EI-L32-B23-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B23-C2" + }, + { + "lpbca": 32, + "branch": 23, + "class": 3, + "linearIndex": 6477, + "address": "0x1d1Ff18c79c77e3C854939bFC296A58E02C04A47", + "cellId": "EI-L32-B23-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B23-C3" + }, + { + "lpbca": 32, + "branch": 23, + "class": 4, + "linearIndex": 6478, + "address": "0x54E05a79a24Abb8Cffc83976F6Ae0528a2066919", + "cellId": "EI-L32-B23-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B23-C4" + }, + { + "lpbca": 32, + "branch": 23, + "class": 5, + "linearIndex": 6479, + "address": "0xB82a9D6B688FED799053FB6FDF34A509cB515b3A", + "cellId": "EI-L32-B23-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B23-C5" + }, + { + "lpbca": 32, + "branch": 24, + "class": 0, + "linearIndex": 6480, + "address": "0xfc77403DAd9677c4D830dE06Cf43Fc22B009bD0B", + "cellId": "EI-L32-B24-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B24-C0" + }, + { + "lpbca": 32, + "branch": 24, + "class": 1, + "linearIndex": 6481, + "address": "0x574b2670f78Fb2c66941DB9a8D1609129A0A98b8", + "cellId": "EI-L32-B24-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B24-C1" + }, + { + "lpbca": 32, + "branch": 24, + "class": 2, + "linearIndex": 6482, + "address": "0xdF5F1224F94207A8a456770EfDa710e77F8a0B34", + "cellId": "EI-L32-B24-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B24-C2" + }, + { + "lpbca": 32, + "branch": 24, + "class": 3, + "linearIndex": 6483, + "address": "0x9b7Ebfcc7E74B89F6276914F23F3a1f910a0dF44", + "cellId": "EI-L32-B24-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B24-C3" + }, + { + "lpbca": 32, + "branch": 24, + "class": 4, + "linearIndex": 6484, + "address": "0xA9a170e1c75069e52Cc26b43CEdfEe4BC714f2C0", + "cellId": "EI-L32-B24-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B24-C4" + }, + { + "lpbca": 32, + "branch": 24, + "class": 5, + "linearIndex": 6485, + "address": "0x113f9D6108CAfC04706f743d1eAa414f317C204B", + "cellId": "EI-L32-B24-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B24-C5" + }, + { + "lpbca": 32, + "branch": 25, + "class": 0, + "linearIndex": 6486, + "address": "0x917dFB6a0366671876F9F44cE3AE687AbCdDccD5", + "cellId": "EI-L32-B25-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B25-C0" + }, + { + "lpbca": 32, + "branch": 25, + "class": 1, + "linearIndex": 6487, + "address": "0xF51BEb0BCf1140B8E8c063aDf40F27d80d360DaB", + "cellId": "EI-L32-B25-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B25-C1" + }, + { + "lpbca": 32, + "branch": 25, + "class": 2, + "linearIndex": 6488, + "address": "0x0bea8Dd3DAeBA7F0830a7079C8478e22cB87cE5a", + "cellId": "EI-L32-B25-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B25-C2" + }, + { + "lpbca": 32, + "branch": 25, + "class": 3, + "linearIndex": 6489, + "address": "0x82928F70d9860673B674eBCd7e4Bbc25Ea4590DF", + "cellId": "EI-L32-B25-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B25-C3" + }, + { + "lpbca": 32, + "branch": 25, + "class": 4, + "linearIndex": 6490, + "address": "0x7Aad9fdb80614066F8a42c3Caa84F0cDCE49671d", + "cellId": "EI-L32-B25-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B25-C4" + }, + { + "lpbca": 32, + "branch": 25, + "class": 5, + "linearIndex": 6491, + "address": "0x7F414dc6ED60943BCD32C52a1669BFC4BBa8052e", + "cellId": "EI-L32-B25-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B25-C5" + }, + { + "lpbca": 32, + "branch": 26, + "class": 0, + "linearIndex": 6492, + "address": "0x78dBaafFA5fA52cAD22Af9FCCCDA42f44A5c76Ac", + "cellId": "EI-L32-B26-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B26-C0" + }, + { + "lpbca": 32, + "branch": 26, + "class": 1, + "linearIndex": 6493, + "address": "0xA0Aef96ab8A0245f0864409beaf4FAb3ba6BA987", + "cellId": "EI-L32-B26-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B26-C1" + }, + { + "lpbca": 32, + "branch": 26, + "class": 2, + "linearIndex": 6494, + "address": "0x232909D24aEe8D32c8B2dBE24E720733C481F7e6", + "cellId": "EI-L32-B26-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B26-C2" + }, + { + "lpbca": 32, + "branch": 26, + "class": 3, + "linearIndex": 6495, + "address": "0x2498e181D9c8AbDee11B56c53fA1917868449DDB", + "cellId": "EI-L32-B26-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B26-C3" + }, + { + "lpbca": 32, + "branch": 26, + "class": 4, + "linearIndex": 6496, + "address": "0x92498a27E9898b70EC5308DcD67E55A374B6eFAE", + "cellId": "EI-L32-B26-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B26-C4" + }, + { + "lpbca": 32, + "branch": 26, + "class": 5, + "linearIndex": 6497, + "address": "0xa9A8C4C3f484370fDCe218c7BE976E5a512a123c", + "cellId": "EI-L32-B26-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B26-C5" + }, + { + "lpbca": 32, + "branch": 27, + "class": 0, + "linearIndex": 6498, + "address": "0xA7fd55004040a9a7553cBDDC8e93d8AE1cf6A8Fe", + "cellId": "EI-L32-B27-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B27-C0" + }, + { + "lpbca": 32, + "branch": 27, + "class": 1, + "linearIndex": 6499, + "address": "0xE33C0DF442De5bc796c1f4AA5c2A20659d603368", + "cellId": "EI-L32-B27-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B27-C1" + }, + { + "lpbca": 32, + "branch": 27, + "class": 2, + "linearIndex": 6500, + "address": "0xdB761b43823bc6B7B66CA508a19294D413B443bD", + "cellId": "EI-L32-B27-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B27-C2" + }, + { + "lpbca": 32, + "branch": 27, + "class": 3, + "linearIndex": 6501, + "address": "0x6969c55F5b283b248392CcE587d35B5e4c43B625", + "cellId": "EI-L32-B27-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B27-C3" + }, + { + "lpbca": 32, + "branch": 27, + "class": 4, + "linearIndex": 6502, + "address": "0xda7b57ef01c9385Add54a7e32D751C974A5f7Fc9", + "cellId": "EI-L32-B27-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B27-C4" + }, + { + "lpbca": 32, + "branch": 27, + "class": 5, + "linearIndex": 6503, + "address": "0xEAa0A4A0473938D14AA6078371bfD77dF803aa78", + "cellId": "EI-L32-B27-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B27-C5" + }, + { + "lpbca": 32, + "branch": 28, + "class": 0, + "linearIndex": 6504, + "address": "0x3CA04904BD4cd9b0A22a3B93F2eb29F6986bBD28", + "cellId": "EI-L32-B28-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B28-C0" + }, + { + "lpbca": 32, + "branch": 28, + "class": 1, + "linearIndex": 6505, + "address": "0x100F53dDB910D7f5BCd6E87b8eDB4858CF182aB3", + "cellId": "EI-L32-B28-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B28-C1" + }, + { + "lpbca": 32, + "branch": 28, + "class": 2, + "linearIndex": 6506, + "address": "0x8C55CDB9d52328e8374FA646bdEb77a4DB165a68", + "cellId": "EI-L32-B28-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B28-C2" + }, + { + "lpbca": 32, + "branch": 28, + "class": 3, + "linearIndex": 6507, + "address": "0x17CB2Cf53B28dB12C2F889A8e2A974768B3e1fB9", + "cellId": "EI-L32-B28-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B28-C3" + }, + { + "lpbca": 32, + "branch": 28, + "class": 4, + "linearIndex": 6508, + "address": "0x5FF354B41C431fc1A8Cc5462a2E48367718bC9dD", + "cellId": "EI-L32-B28-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B28-C4" + }, + { + "lpbca": 32, + "branch": 28, + "class": 5, + "linearIndex": 6509, + "address": "0x932C7B0a6464e852D65867DeF4546B48692d9178", + "cellId": "EI-L32-B28-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B28-C5" + }, + { + "lpbca": 32, + "branch": 29, + "class": 0, + "linearIndex": 6510, + "address": "0x1cF24013D8C95b49ac7B0B4E73673CBe149a35A8", + "cellId": "EI-L32-B29-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B29-C0" + }, + { + "lpbca": 32, + "branch": 29, + "class": 1, + "linearIndex": 6511, + "address": "0x710c0DDd641D91A2dc6793Ba6191dE54daBEf095", + "cellId": "EI-L32-B29-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B29-C1" + }, + { + "lpbca": 32, + "branch": 29, + "class": 2, + "linearIndex": 6512, + "address": "0x99d4d5Bf357F824aDB49417Aa8a6854683c9F334", + "cellId": "EI-L32-B29-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B29-C2" + }, + { + "lpbca": 32, + "branch": 29, + "class": 3, + "linearIndex": 6513, + "address": "0x2B8A6DF6BBb6e79Ef1868a8A9089F071404D0670", + "cellId": "EI-L32-B29-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B29-C3" + }, + { + "lpbca": 32, + "branch": 29, + "class": 4, + "linearIndex": 6514, + "address": "0x8DFBf104126aeD0FF2D73812251796A22Dd64203", + "cellId": "EI-L32-B29-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B29-C4" + }, + { + "lpbca": 32, + "branch": 29, + "class": 5, + "linearIndex": 6515, + "address": "0x453B15f4c966CF422351B6EC2c4f3AcF23280B58", + "cellId": "EI-L32-B29-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B29-C5" + }, + { + "lpbca": 32, + "branch": 30, + "class": 0, + "linearIndex": 6516, + "address": "0x977f6581aa3Fd628025704F75Be088a918d0b350", + "cellId": "EI-L32-B30-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B30-C0" + }, + { + "lpbca": 32, + "branch": 30, + "class": 1, + "linearIndex": 6517, + "address": "0xC5c5e7453F94E7cA6852eDb4B7624f75296dFB20", + "cellId": "EI-L32-B30-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B30-C1" + }, + { + "lpbca": 32, + "branch": 30, + "class": 2, + "linearIndex": 6518, + "address": "0x18ca369e1a770bA9Ced80C7D823a373c26608063", + "cellId": "EI-L32-B30-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B30-C2" + }, + { + "lpbca": 32, + "branch": 30, + "class": 3, + "linearIndex": 6519, + "address": "0xe9ea0a6F769E399a0a809F86D32046896288c19A", + "cellId": "EI-L32-B30-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B30-C3" + }, + { + "lpbca": 32, + "branch": 30, + "class": 4, + "linearIndex": 6520, + "address": "0xE845AcbbA7c9341eF640F6c65505e96E1784b28F", + "cellId": "EI-L32-B30-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B30-C4" + }, + { + "lpbca": 32, + "branch": 30, + "class": 5, + "linearIndex": 6521, + "address": "0x62B8A47272E064674D1b40a0F84e4e6101E2C985", + "cellId": "EI-L32-B30-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B30-C5" + }, + { + "lpbca": 32, + "branch": 31, + "class": 0, + "linearIndex": 6522, + "address": "0x9c199620e29044c56e218633d99ec9aaEcdc3152", + "cellId": "EI-L32-B31-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B31-C0" + }, + { + "lpbca": 32, + "branch": 31, + "class": 1, + "linearIndex": 6523, + "address": "0xb612bB5162cf2922d37426a6AF539dA143B44741", + "cellId": "EI-L32-B31-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B31-C1" + }, + { + "lpbca": 32, + "branch": 31, + "class": 2, + "linearIndex": 6524, + "address": "0x169145AF2F95F5f1Aa231b00a96e468804a2d1E9", + "cellId": "EI-L32-B31-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B31-C2" + }, + { + "lpbca": 32, + "branch": 31, + "class": 3, + "linearIndex": 6525, + "address": "0xfF1cAEe288acc512cD5A8Ed05D40CBD6b590a0d0", + "cellId": "EI-L32-B31-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B31-C3" + }, + { + "lpbca": 32, + "branch": 31, + "class": 4, + "linearIndex": 6526, + "address": "0x864BbE4726e395338E7D6e9B2FB3148CF2531eB4", + "cellId": "EI-L32-B31-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B31-C4" + }, + { + "lpbca": 32, + "branch": 31, + "class": 5, + "linearIndex": 6527, + "address": "0x7001D954CCcb5F3148469E35C69b4160a6D7Cb57", + "cellId": "EI-L32-B31-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B31-C5" + }, + { + "lpbca": 32, + "branch": 32, + "class": 0, + "linearIndex": 6528, + "address": "0x30C3804326832519d65e9cB21a40DCB7a589D316", + "cellId": "EI-L32-B32-C0", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B32-C0" + }, + { + "lpbca": 32, + "branch": 32, + "class": 1, + "linearIndex": 6529, + "address": "0xfE4b602661c6b9C8ba63b67fadDE9FD0901537C0", + "cellId": "EI-L32-B32-C1", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B32-C1" + }, + { + "lpbca": 32, + "branch": 32, + "class": 2, + "linearIndex": 6530, + "address": "0x6DA8f0DaF4b44937b517Fe165f5F38FC426E8c3E", + "cellId": "EI-L32-B32-C2", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B32-C2" + }, + { + "lpbca": 32, + "branch": 32, + "class": 3, + "linearIndex": 6531, + "address": "0x2F4a56557C6c8ddb4e1270c9d9cad821DE01F7CC", + "cellId": "EI-L32-B32-C3", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B32-C3" + }, + { + "lpbca": 32, + "branch": 32, + "class": 4, + "linearIndex": 6532, + "address": "0x59463Db579ea6e58cf769CB95936e709F0b9f8dd", + "cellId": "EI-L32-B32-C4", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B32-C4" + }, + { + "lpbca": 32, + "branch": 32, + "class": 5, + "linearIndex": 6533, + "address": "0xf99B8B11F2B5262e20Fe42BC33CB4ae626cdEdd3", + "cellId": "EI-L32-B32-C5", + "networkCode": "unassigned", + "asn": null, + "label": "unassigned.EI-L32-B32-C5" + } + ] +} diff --git a/config/solana-gru-bridge-lineup.json b/config/solana-gru-bridge-lineup.json new file mode 100644 index 00000000..64eb68d8 --- /dev/null +++ b/config/solana-gru-bridge-lineup.json @@ -0,0 +1,133 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Operator lineup: Chain 138 canonical GRU assets → Solana SPL bridge targets (cW* / WETH). Populate solanaMint when mints exist. Source addresses: docs/11-references/EXPLORER_TOKEN_LIST_CROSSCHECK.md §2.", + "version": "1.0.0", + "updated": "2026-04-18", + "status": "lineup_defined_relay_and_mints_outstanding", + "references": { + "canonicalCrosscheck": "docs/11-references/EXPLORER_TOKEN_LIST_CROSSCHECK.md", + "tokenMapping": "config/token-mapping-multichain.json", + "nonEvmFramework": "config/non-evm-bridge-framework.json", + "runbook": "docs/03-deployment/CHAIN138_TO_SOLANA_GRU_TOKEN_DEPLOYMENT_LINEUP.md" + }, + "chain138": { + "chainId": 138, + "rpcEnv": "RPC_URL_138" + }, + "solana": { + "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", + "cluster": "mainnet-beta", + "hubStablesNote": "Resolve SPL USDC (primary) and USDT mints for edge liquidity; not EVM hub addresses — see cross-chain-pmm-lps/config/chains.json nonEvm.Solana" + }, + "bridgeModel": { + "sourceRole": "canonical c* (and WETH) on Chain 138", + "destinationRole": "SPL mints for bridge-wrapped symbols per token-mapping nonEvmNetworks.Solana.assetRepresentationModel", + "naming": "c* on 138 → cW* on Solana for fiat-stable GRU assets; WETH remains WETH (wrapped ETH representation on Solana)" + }, + "assets": [ + { + "chain138Symbol": "WETH", + "solanaSymbol": "WETH", + "decimals": 18, + "chain138Address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "solanaMint": null, + "deploymentStatus": "planned" + }, + { + "chain138Symbol": "cUSDT", + "solanaSymbol": "cWUSDT", + "decimals": 6, + "chain138Address": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "solanaMint": null, + "deploymentStatus": "planned" + }, + { + "chain138Symbol": "cUSDC", + "solanaSymbol": "cWUSDC", + "decimals": 6, + "chain138Address": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "solanaMint": null, + "deploymentStatus": "planned" + }, + { + "chain138Symbol": "cEURC", + "solanaSymbol": "cWEURC", + "decimals": 6, + "chain138Address": "0x8085961F9cF02b4d800A3c6d386D31da4B34266a", + "solanaMint": null, + "deploymentStatus": "planned" + }, + { + "chain138Symbol": "cEURT", + "solanaSymbol": "cWEURT", + "decimals": 6, + "chain138Address": "0xdf4b71c61E5912712C1Bdd451416B9aC26949d72", + "solanaMint": null, + "deploymentStatus": "planned" + }, + { + "chain138Symbol": "cGBPC", + "solanaSymbol": "cWGBPC", + "decimals": 6, + "chain138Address": "0x003960f16D9d34F2e98d62723B6721Fb92074aD2", + "solanaMint": null, + "deploymentStatus": "planned" + }, + { + "chain138Symbol": "cGBPT", + "solanaSymbol": "cWGBPT", + "decimals": 6, + "chain138Address": "0x350f54e4D23795f86A9c03988c7135357CCaD97c", + "solanaMint": null, + "deploymentStatus": "planned" + }, + { + "chain138Symbol": "cAUDC", + "solanaSymbol": "cWAUDC", + "decimals": 6, + "chain138Address": "0xD51482e567c03899eecE3CAe8a058161FD56069D", + "solanaMint": null, + "deploymentStatus": "planned" + }, + { + "chain138Symbol": "cJPYC", + "solanaSymbol": "cWJPYC", + "decimals": 6, + "chain138Address": "0xEe269e1226a334182aace90056EE4ee5Cc8A6770", + "solanaMint": null, + "deploymentStatus": "planned" + }, + { + "chain138Symbol": "cCHFC", + "solanaSymbol": "cWCHFC", + "decimals": 6, + "chain138Address": "0x873990849DDa5117d7C644f0aF24370797C03885", + "solanaMint": null, + "deploymentStatus": "planned" + }, + { + "chain138Symbol": "cCADC", + "solanaSymbol": "cWCADC", + "decimals": 6, + "chain138Address": "0x54dBd40cF05e15906A2C21f600937e96787f5679", + "solanaMint": null, + "deploymentStatus": "planned" + }, + { + "chain138Symbol": "cXAUC", + "solanaSymbol": "cWXAUC", + "decimals": 6, + "chain138Address": "0x290E52a8819A4fbD0714E517225429aA2B70EC6b", + "solanaMint": null, + "deploymentStatus": "planned" + }, + { + "chain138Symbol": "cXAUT", + "solanaSymbol": "cWXAUT", + "decimals": 6, + "chain138Address": "0x94e408E26c6FD8F4ee00b54dF19082FDA07dC96E", + "solanaMint": null, + "deploymentStatus": "planned" + } + ] +} diff --git a/config/xdc-zero/deployed/endpoint-apothem-or-mainnet.env b/config/xdc-zero/deployed/endpoint-apothem-or-mainnet.env new file mode 100644 index 00000000..9c2a9c7b --- /dev/null +++ b/config/xdc-zero/deployed/endpoint-apothem-or-mainnet.env @@ -0,0 +1,10 @@ +# XDC parent endpoint stack for Chain 138 pair +# Deployed 2026-04-16 from /home/intlc/projects/XDC-Zero/endpoint +# Operator-local record only; gitignored by default. + +ETHEREUM_TRIE_DB=0x99B3511A2d315A497C8112C1fdd8D508d4B1E506 +MERKLE_PATRICIA=0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 +ENDPOINT=0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e + +# Parent-side CSC for Chain 138 roots is still pending. +# Do not treat this file as a completed pair registration artifact yet. diff --git a/config/xdc-zero/deployed/endpoint-chain138.env b/config/xdc-zero/deployed/endpoint-chain138.env new file mode 100644 index 00000000..086c4765 --- /dev/null +++ b/config/xdc-zero/deployed/endpoint-chain138.env @@ -0,0 +1,12 @@ +# Chain 138 XDC Zero Endpoint stack +# Deployed 2026-04-01 from /home/intlc/projects/XDC-Zero/endpoint +# Operator-local record only; gitignored by default. + +ETHEREUM_TRIE_DB=0xB7A32E86Fa1533ebb0Ed1D41Ce502110E739E54A +MERKLE_PATRICIA=0xAF12F73f0BCa1E52559Db807A2B438BD14de6B09 +ENDPOINT=0x43F435cDC82e415500c0abcf48261176052CadcA + +# Final coherent tx set for the linked stack above: +ETHEREUM_TRIE_DB_TX=0x09d5549b877dbb17e82d6998328e914abd1f98000a9af73b4ebf6f6f251a40b3 +MERKLE_PATRICIA_TX=0x70bf28a946510c5bd7077b8acf1ccbf5fba76706dfbd5d1405ec5bad70aea844 +ENDPOINT_TX=0x98bccdc032e178e109b1472c7d00248523692a054f11aa01744d1a5753fe5e55 diff --git a/config/xdc-zero/deployed/endpointconfig.fragment.chain138.json b/config/xdc-zero/deployed/endpointconfig.fragment.chain138.json new file mode 100644 index 00000000..de0b7f3f --- /dev/null +++ b/config/xdc-zero/deployed/endpointconfig.fragment.chain138.json @@ -0,0 +1,13 @@ +{ + "chain138": { + "endpoint": "0x43F435cDC82e415500c0abcf48261176052CadcA", + "registers": [ + { + "chainId": 50, + "csc": "0x3cf12c78b5E52EB802aD4f3b4653c616786b792c", + "endpoint": "0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e" + } + ], + "applications": [] + } +} diff --git a/config/xdc-zero/deployed/xdcparentnet-register-chain138.fragment.json b/config/xdc-zero/deployed/xdcparentnet-register-chain138.fragment.json new file mode 100644 index 00000000..420e8482 --- /dev/null +++ b/config/xdc-zero/deployed/xdcparentnet-register-chain138.fragment.json @@ -0,0 +1,7 @@ +[ + { + "chainId": 138, + "csc": "0x105F8A15b819948a89153505762444Ee9f324684", + "endpoint": "0x43F435cDC82e415500c0abcf48261176052CadcA" + } +] diff --git a/cross-chain-pmm-lps b/cross-chain-pmm-lps index 589ebaff..5aa162e6 160000 --- a/cross-chain-pmm-lps +++ b/cross-chain-pmm-lps @@ -1 +1 @@ -Subproject commit 589ebaff86d2b1f69db48d6186a485c05333e14f +Subproject commit 5aa162e6b325ed1ab5594eed2dad2f662762c815 diff --git a/dbis_core b/dbis_core index 1190476b..468bc05b 160000 --- a/dbis_core +++ b/dbis_core @@ -1 +1 @@ -Subproject commit 1190476b0a00f5ffdba315adc04bbb845c706bc6 +Subproject commit 468bc05b7868282d3a046ec7f6db9d20656561dc diff --git a/docs/03-deployment/CHAIN138_TO_SOLANA_GRU_TOKEN_DEPLOYMENT_LINEUP.md b/docs/03-deployment/CHAIN138_TO_SOLANA_GRU_TOKEN_DEPLOYMENT_LINEUP.md new file mode 100644 index 00000000..ca0b4cae --- /dev/null +++ b/docs/03-deployment/CHAIN138_TO_SOLANA_GRU_TOKEN_DEPLOYMENT_LINEUP.md @@ -0,0 +1,64 @@ +# Chain 138 → Solana — GRU Token Deployment Lineup + +**Last updated:** 2026-04-18 +**Current status:** `lineup_defined_relay_and_mints_outstanding` — see [config/solana-gru-bridge-lineup.json](../../config/solana-gru-bridge-lineup.json). + +**Purpose:** Line up deployment of **all canonical GRU base-money assets** from Chain 138 to Solana as **bridge-backed SPL representations**, using the agreed model: **custom relay** (per `token-mapping-multichain.json` notes), **SPL mints**, **hub stables on Solana**, and **execution / edge liquidity** as a separate phase (CLMM + bot, CLOB MM, or future PMM-class program). + +**Machine-readable manifest:** [config/solana-gru-bridge-lineup.json](../../config/solana-gru-bridge-lineup.json) (fill `solanaMint` as mints exist). + +--- + +## 1. Scope — which tokens + +| Role | Count | Notes | +|------|-------|--------| +| **Canonical `c*` on Chain 138** | **12** | Addresses: [EXPLORER_TOKEN_LIST_CROSSCHECK.md](../11-references/EXPLORER_TOKEN_LIST_CROSSCHECK.md) §2 | +| **WETH** | **1** | Aligns with [config/non-evm-bridge-framework.json](../../config/non-evm-bridge-framework.json) `solanaInitialLiveSet` | + +On Solana, fiat-stable GRU assets use the **`cW*`** symbol set per `config/token-mapping-multichain.json` → `nonEvmNetworks.Solana.approvedMirroredSymbols`. + +--- + +## 2. Repo anchors + +| Item | Location | +|------|----------| +| Non-EVM rollout + initial symbol set | [config/non-evm-bridge-framework.json](../../config/non-evm-bridge-framework.json) | +| CAIP-2, relay mode, approved symbols | [config/token-mapping-multichain.json](../../config/token-mapping-multichain.json) `nonEvmNetworks.Solana` | +| Solana adapter (Chain 138) | `smom-dbis-138/contracts/bridge/adapters/non-evm/SolanaAdapter.sol` | +| Relay worker stub | `smom-dbis-138/services/solana-relay/src/SolanaRelayService.ts` | +| Hub-stable note | [cross-chain-pmm-lps/config/chains.json](../../cross-chain-pmm-lps/config/chains.json) `nonEvm[]` | + +--- + +## 3. Phased deployment sequence + +### Phase A — Chain 138 bridge surface + +Deploy/register `SolanaAdapter`, define lock/mint messaging and replay/refund paths. + +### Phase B — Solana SPL mints + +Create SPL tokens; record **`solanaMint`** per asset in `solana-gru-bridge-lineup.json`. + +### Phase C — Relay implementation + +Replace relay stub with production path; fund SOL signers; E2E both directions on mainnet-beta when ready. + +### Phase D — Execution on Solana + +Resolve SPL USDC/USDT hubs; add pools/markets per chosen venue strategy. + +### Phase E — Public exposure + +After verifiers and E2E gates pass; align [GRU_REFERENCE_PRIMACY_AND_MESH_EXECUTION_MODEL.md](../04-configuration/GRU_REFERENCE_PRIMACY_AND_MESH_EXECUTION_MODEL.md). + +--- + +## 4. Verification + +```bash +bash scripts/verify/check-gru-non-evm-readiness.sh +bash scripts/verify/check-contracts-on-chain-138.sh +``` diff --git a/docs/03-deployment/CHAIN_138_TO_WEMIX_1111_BRIDGE_COMPLETION_CHECKLIST.md b/docs/03-deployment/CHAIN_138_TO_WEMIX_1111_BRIDGE_COMPLETION_CHECKLIST.md new file mode 100644 index 00000000..893b7569 --- /dev/null +++ b/docs/03-deployment/CHAIN_138_TO_WEMIX_1111_BRIDGE_COMPLETION_CHECKLIST.md @@ -0,0 +1,116 @@ +# Chain 138 -> Wemix 1111 Bridge Completion Checklist + +**Last Updated:** 2026-04-18 +**Purpose:** Strict operator checklist to move WEMIX `1111` from repo-deferred state into a live `138 -> 1111` bridge path for `WETH9` / `WETH10`, then prepare GRU v2 `cW*` assets for rollout. + +## 1. Current Repo State + +| Item | Current State | +|---|---| +| Destination chain | `1111` / Wemix | +| Destination selector | `5142893604156789321` | +| Activation state | `deferred` | +| Bridge available | `false` | +| Recorded `cW*` assets | `cWBTC` | +| Recorded anchor addresses | `USDC=0xcebA9300f2b948710d2653dD7B07f33A8B32118C` | + +The repo currently shows WEMIX as **deferred**, not live. Native WEMIX gas is the only part that is already in good shape; the missing bridge deployment and LINK funding are the actual blockers. + +## 2. Exact Environment Surface + +| Variable | Current Value | +|---|---| +| `CCIP_ROUTER_WEMIX` | `0x7798b795Fde864f4Cd1b124a38Ba9619B7F8A442` | +| `LINK_TOKEN_WEMIX` | `0x80f1FcdC96B55e459BF52b998aBBE2c364935d69` | +| `WETH9_WEMIX` | `0x7D72b22a74A216Af4a002a1095C8C707d6eC1C5f` | +| `WETH10_WEMIX` | `0x7D72b22a74A216Af4a002a1095C8C707d6eC1C5f` | +| `CCIPWETH9_BRIDGE_WEMIX` | `(unset)` | +| `CCIPWETH10_BRIDGE_WEMIX` | `(unset)` | +| `LINK_GAS_AVAILABLE_1111` | `0` | +| `LINK_GAS_UNAVAILABLE_CHAIN_IDS` | `25,1111` | +| `WEMIX_RPC` | `https://api.wemix.com` | +| `CHAIN138_SELECTOR` | `138` | +| `CCIPWETH9_BRIDGE_CHAIN138` | `0xcacfd227A040002e49e2e01626363071324f820a` | +| `CCIPWETH10_BRIDGE_CHAIN138` | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | + +## 3. Completion Steps + +### Step 1: Preflight WEMIX + +```bash +cd smom-dbis-138 +./scripts/deployment/preflight-config-ready-chains.sh wemix +``` + +Success means: +- `WEMIX_RPC` responds +- deployer has native WEMIX gas +- `CCIP_ROUTER_WEMIX`, `LINK_TOKEN_WEMIX`, `WETH9_WEMIX`, and `WETH10_WEMIX` are present + +### Step 2: Deploy `CCIPWETH9Bridge` and `CCIPWETH10Bridge` on 1111 + +```bash +cd smom-dbis-138 +./scripts/deployment/deploy-bridges-config-ready-chains.sh wemix +``` + +After deployment, persist the returned addresses into: +- `CCIPWETH9_BRIDGE_WEMIX` +- `CCIPWETH10_BRIDGE_WEMIX` + +### Step 3: Wire destinations in both directions + +```bash +cd smom-dbis-138 +./scripts/deployment/complete-config-ready-chains.sh +``` + +Required result: +- Chain `138` WETH9 bridge includes selector `5142893604156789321` -> `CCIPWETH9_BRIDGE_WEMIX` +- Chain `138` WETH10 bridge includes selector `5142893604156789321` -> `CCIPWETH10_BRIDGE_WEMIX` +- WEMIX WETH9 bridge includes `CHAIN138_SELECTOR` -> `CCIPWETH9_BRIDGE_CHAIN138` +- WEMIX WETH10 bridge includes `CHAIN138_SELECTOR` -> `CCIPWETH10_BRIDGE_CHAIN138` + +### Step 4: Fund LINK on the WEMIX bridges + +```bash +cd smom-dbis-138 +./scripts/deployment/check-link-balance-config-ready-chains.sh wemix +./scripts/deployment/fund-ccip-bridges-with-link.sh +``` + +Target: +- at least `10 LINK` on each bridge +- `LINK_GAS_AVAILABLE_1111` becomes non-zero + +### Step 5: Verify bridge readiness + +```bash +cast call "$CCIPWETH9_BRIDGE_WEMIX" 'getDestinationChains()(uint64[])' --rpc-url "$WEMIX_RPC" +cast call "$CCIPWETH10_BRIDGE_WEMIX" 'getDestinationChains()(uint64[])' --rpc-url "$WEMIX_RPC" +``` + +Then run a small test transfer for `WETH9` or `WETH10` from `138 -> 1111` and confirm receipt. + +### Step 6: Prepare GRU v2 `cW*` assets for 1111 + +This step is **after** the WETH bridge path is proven live. + +Current repo state only scaffolds: +- `cWBTC` + +Before GRU v2 can be promoted on `1111`, the operator still needs to: +- confirm the intended destination `cW*` asset set +- deploy or confirm destination token contracts on `1111` +- wire bridge or mint authority for those assets +- only then enable DODO PMM / Uniswap V2 / other venue rollout on WEMIX + +## 4. Promotion Conditions + +WEMIX `1111` can move out of deferred state only after all of the following are true: + +1. `CCIPWETH9_BRIDGE_WEMIX` and `CCIPWETH10_BRIDGE_WEMIX` are deployed and stored in `.env`. +2. Chain `138` and chain `1111` each list the other as a valid bridge destination. +3. Both WEMIX bridges hold enough LINK for operational CCIP fees. +4. A small bridge test succeeds in both configuration and receipt. +5. The GRU v2 asset rollout plan for `1111` is explicitly wired, not just implied. diff --git a/docs/03-deployment/COMPREHENSIVE_CAPITAL_BASELINE.md b/docs/03-deployment/COMPREHENSIVE_CAPITAL_BASELINE.md new file mode 100644 index 00000000..55f647be --- /dev/null +++ b/docs/03-deployment/COMPREHENSIVE_CAPITAL_BASELINE.md @@ -0,0 +1,26 @@ +# Comprehensive Capital Baseline + +- Generated: `2026-04-17T15:11:49Z` +- Additional inventory: `config/extraction/additional-wallet-inventory.json` +- Source-to-CEX policy: `config/extraction/source-to-cex-production-policy.json` +- Production enabled: `False` +- Mainnet funding posture: `dual-rail` via `cWUSDC, cWUSDT` + +## Snapshot + +- Immediate bucket USD: `17777520.488172` +- Same-day corridor USD: `1381462148.370564` + +## Off-Chain Sink Validation + +- Validation ready: `False` +- Included sink count: `0` + +## Source Artifacts + +- `immediate_and_same_day_corridor_assets`: `reports/extraction/immediate-and-same-day-corridor-assets-latest.json` +- `source_to_cex_execution_plan`: `reports/extraction/source-to-cex-execution-plan-latest.json` +- `source_to_cex_production_readiness`: `reports/extraction/source-to-cex-production-readiness-latest.json` +- `source_to_cex_offchain_sink_validation`: `reports/extraction/source-to-cex-offchain-sink-validation-latest.json` +- `source_to_cex_production_policy`: `config/extraction/source-to-cex-production-policy.json` +- `additional_wallet_inventory`: `config/extraction/additional-wallet-inventory.json` diff --git a/docs/03-deployment/CRYPTO_COM_OTC_BEFORE_AFTER_OPERATOR_MATRIX.md b/docs/03-deployment/CRYPTO_COM_OTC_BEFORE_AFTER_OPERATOR_MATRIX.md new file mode 100644 index 00000000..dee9962e --- /dev/null +++ b/docs/03-deployment/CRYPTO_COM_OTC_BEFORE_AFTER_OPERATOR_MATRIX.md @@ -0,0 +1,80 @@ +# Crypto.com OTC Before Vs After Operator Matrix + +**Last Updated:** 2026-04-17 +**Purpose:** Strict operator comparison of the current ecosystem state versus the state after a real `Crypto.com OTC` destination is connected as the off-chain execution sink. + +## Scope + +- This matrix is grounded in the current repo-generated artifacts, especially: + - `reports/extraction/comprehensive-capital-baseline-latest.json` + - `reports/extraction/source-to-cex-execution-plan-latest.json` + - `reports/extraction/source-to-cex-production-readiness-latest.json` + - `reports/extraction/immediate-and-same-day-corridor-assets-latest.json` +- It does **not** assume any undocumented `Crypto.com OTC` limits, settlement terms, or acceptance rules. +- “After” means: a real off-chain sink row exists, it is enabled for production handoff, the deposit asset and address are configured, and production is intentionally promoted. + +## Strict Matrix + +| Dimension | Before Crypto.com OTC | After Crypto.com OTC | +|---|---|---| +| Terminal sink model | Public Mainnet cW-to-canonical pools | Mainnet normalization plus external OTC execution | +| True size absorber | `cWUSDC -> USDC` pool | `Crypto.com OTC` books / negotiated execution | +| Strongest verified direct public normalization depth | About `$213.10` via `cWUSDC -> USDC` | Still about `$213.10` on-chain, but no longer the system-wide economic cap | +| Direct `cWUSDT -> USDT` depth | About `$2.18` | Still about `$2.18`; remains weak unless separately improved | +| Immediate bucket (`cWUSDC`, `cWUSDT`) | About `$17.78M`, but operationally constrained by shallow public exits | About `$17.78M`, now potentially executable through bounded normalization and OTC handoff | +| Same-day corridor bucket (`cUSDC`, `cUSDT`, stable LP feeders) | About `$1.381B`, structurally ready but terminally constrained | About `$1.381B`, now becomes a credible same-day institutional feeder set if OTC handoff is live | +| `cUSDC` operating path | `cUSDC -> bridge -> cWUSDC -> USDC`, then stalls on shallow public sink | `cUSDC -> bridge -> cWUSDC -> USDC -> Crypto.com OTC` | +| `cUSDT` operating path | `cUSDT -> bridge -> cWUSDT -> cWUSDC -> USDC`, still bottlenecked by public sink | `cUSDT -> bridge -> cWUSDT -> cWUSDC -> USDC -> Crypto.com OTC` | +| Stable LP role | LPs are strong feeder-prep assets, but not meaningful exits on their own | LPs become materially more useful because unwind can feed a real external execution rail | +| On-chain Mainnet role | Expected to absorb trade size | Reduced to a bounded conversion handshake before OTC handoff | +| Main system bottleneck | Terminal public liquidity concentration | Off-chain execution onboarding, deposit correctness, operational governance, and settlement workflow | +| Planner posture | `multi-path -> single shallow sink` | `multi-path -> normalized settlement asset -> OTC sink` | +| Readiness blocker | No real off-chain sink included; production disabled | Remaining blocker becomes real-world OTC setup quality, not architecture | +| Risk concentration | DEX liquidity and slippage | Counterparty, deposit rail, packet policy, reconciliation, and execution controls | +| Operator dependency | Public PMM liquidity | OTC account activation, accepted asset, deposit address, and operating limits | +| Repo readiness state | `offchain_sink_defined = blocked`; `live_production_enabled = blocked` | Can become `ready` after sink row + enablement + production promotion | + +## Practical Reclassification + +If `Crypto.com OTC` is connected as a real sink, the ecosystem does **not** become richer in nominal terms. It becomes more executable. + +- Before: + - large corridor inventory + - tiny public terminal sink + - strong routing structure but weak external realization +- After: + - same inventory + - same bridge and normalization structure + - materially improved ability to hand same-day corridor assets into external institutional liquidity + +## What Changes Operationally + +| Asset Group | Before | After | +|---|---|---| +| `cWUSDC` | Immediate in mechanics, but shallow public exit | Immediate normalization asset for OTC deposit preparation | +| `cWUSDT` | Immediate in mechanics, but direct USDT path is too shallow | Usually normalize through USDC, then hand to OTC | +| `cUSDC` | Best same-day corridor feeder, but ends at weak public sink | Best same-day corridor feeder into OTC | +| `cUSDT` | Same-day feeder, but practically dependent on USDC normalization | Same-day feeder into OTC after USDC normalization | +| Stable LP claims | Preparation only | Preparation plus real external execution path | +| Non-promoted assets | Still not standard feeders | Still not standard feeders unless separately promoted | + +## Readiness Gate + +The repo should still treat the system as **not live** until all of the following are true: + +1. A real `Crypto.com OTC` row exists in `config/extraction/additional-wallet-inventory.json`. +2. `include_in_baseline` is `true`. +3. `enabled_for_production_handoff` is `true`. +4. `operational_status` is `enabled`. +5. Deposit asset, chain, and address are populated. +6. `config/extraction/source-to-cex-production-policy.json` is intentionally set to `production_enabled: true`. + +## Bottom Line + +Before `Crypto.com OTC`, the ecosystem is best described as: + +`large inventory + good corridor structure + shallow public terminal sink` + +After `Crypto.com OTC`, it becomes: + +`large inventory + good corridor structure + bounded Mainnet normalization + real external execution destination` diff --git a/docs/03-deployment/IMMEDIATE_AND_SAME_DAY_CORRIDOR_ASSETS_2026-04-17.md b/docs/03-deployment/IMMEDIATE_AND_SAME_DAY_CORRIDOR_ASSETS_2026-04-17.md new file mode 100644 index 00000000..f4547e90 --- /dev/null +++ b/docs/03-deployment/IMMEDIATE_AND_SAME_DAY_CORRIDOR_ASSETS_2026-04-17.md @@ -0,0 +1,5 @@ +# Immediate And Same-Day Corridor Assets + +Immediate bucket: Mainnet `cWUSDC` and `cWUSDT` with `17777520.488172` USD nominally near-immediate but still constrained by shallow verified public exits. + +Same-day corridor bucket: Chain 138 `cUSDC`, `cUSDT`, and stable LP claims totaling `1381462148.370564` USD under the current corridor model. diff --git a/docs/03-deployment/IMMEDIATE_LIVE_PRODUCTION_TASK_LIST_SOURCE_TO_CEX.md b/docs/03-deployment/IMMEDIATE_LIVE_PRODUCTION_TASK_LIST_SOURCE_TO_CEX.md new file mode 100644 index 00000000..01f70b8b --- /dev/null +++ b/docs/03-deployment/IMMEDIATE_LIVE_PRODUCTION_TASK_LIST_SOURCE_TO_CEX.md @@ -0,0 +1,11 @@ +# Immediate Live Production Task List: Source To CEX Execution + +This task list is now backed by repo-native policy and readiness artifacts: + +- `config/extraction/source-to-cex-production-policy.json` +- `config/extraction/additional-wallet-inventory.json` +- `reports/extraction/source-to-cex-offchain-sink-validation-latest.json` +- `docs/03-deployment/SOURCE_TO_CEX_EXECUTION_PLAN.md` +- `docs/03-deployment/SOURCE_TO_CEX_PRODUCTION_READINESS.md` + +Immediate repo-completable phases are done: policy, planning, inventory schema, and readiness reporting. The remaining blockers are live off-chain sink details and operator promotion of `production_enabled`. diff --git a/docs/03-deployment/PROMOD_GRU_V2_FULL_MESH_GAP_REPORT.md b/docs/03-deployment/PROMOD_GRU_V2_FULL_MESH_GAP_REPORT.md new file mode 100644 index 00000000..60c46eeb --- /dev/null +++ b/docs/03-deployment/PROMOD_GRU_V2_FULL_MESH_GAP_REPORT.md @@ -0,0 +1,227 @@ +# Mr. Promod GRU v2 Full Mesh Gap Report + +- Generated: `2026-04-18T11:53:36Z` +- Program: `promod-gru-v2-full-mesh-gap-report` +- Purpose: strict per-network report for the remaining GRU v2 `cW*` mesh across DODO PMM, Uniswap V2, Balancer, Curve, and related venue surfaces. + +## Accounting Rule + +- Source balance fraction to move: `75%` +- Destination network count: `10` +- Per-chain fraction of current source balance: `7.5%` +- Base unit rule: `amount_75 = balance * 75 // 100; per_chain = amount_75 // 10; remainder stays on Chain 138 or is adjusted on the last transfer` + +## Repo Reality + +- Chain 138 generic source-to-all-destinations bridge: `not_available_as_single_generic_bridge_button` +- Supported pattern: destination cW deployment plus lock/mint bridge or destination-side minting through the CW bridge program where selectors, mappings, and destination receivers are actually configured +- Venue summary: + - DODO PMM: live cW asset pools are recorded across the public network set + - Uniswap V2: live core rail is recorded in deployment-status; live wave-1 wrapped mesh completion is tracked separately in the phase-2 completion report + - Balancer: currently modeled as reference or planned venue surface, not a live cW asset mesh deployment set + - Curve: currently modeled as reference or planned venue surface, not a live cW asset mesh deployment set + - Uniswap V3: currently modeled as reference surface in deployment-status gasReferenceVenues + - 1inch: aggregator visibility surface only, not a pool deployment venue + +## Network Summary + +- DODO PMM live chain count: `10` / `10` +- Uniswap V2 wave-1 complete chain count: `10` / `10` +- Balancer live chain count: `0` / `10` +- Curve live chain count: `0` / `10` +- Uniswap V3 live chain count: `0` / `10` + +| Chain | Network | Bridge | DODO PMM | Uniswap V2 | Balancer | Curve | Remaining Mesh Assets After Wave 1 | +|---|---|---|---|---|---|---|---| +| `1` | Ethereum Mainnet | `True` | `15 live` | `6 wave-1 pairs` | `reference_only` | `reference_only` | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | +| `10` | Optimism | `True` | `12 live` | `6 wave-1 pairs` | `reference_only` | `reference_only` | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | +| `25` | Cronos | `True` | `12 live` | `6 wave-1 pairs` | `unsupported` | `unsupported` | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | +| `56` | BSC (BNB Chain) | `True` | `10 live` | `6 wave-1 pairs` | `unsupported` | `unsupported` | `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | +| `100` | Gnosis Chain | `True` | `10 live` | `6 wave-1 pairs` | `reference_only` | `reference_only` | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | +| `137` | Polygon | `True` | `12 live` | `6 wave-1 pairs` | `reference_only` | `reference_only` | `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | +| `8453` | Base | `True` | `10 live` | `6 wave-1 pairs` | `reference_only` | `reference_only` | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | +| `42161` | Arbitrum One | `True` | `10 live` | `6 wave-1 pairs` | `reference_only` | `reference_only` | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | +| `42220` | Celo | `True` | `10 live` | `6 wave-1 pairs` | `unsupported` | `reference_only` | `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | +| `43114` | Avalanche C-Chain | `True` | `10 live` | `6 wave-1 pairs` | `unsupported` | `reference_only` | `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | + +## Per-Network Detail + +### Chain `1` — Ethereum Mainnet + +- Bridge available: `True` +- cW assets: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDC`, `cWUSDT`, `cWXAUC`, `cWXAUT` + +- DODO PMM live pairs: `15` + - `cWAUDC/USDC`, `cWCADC/USDC`, `cWCHFC/USDC`, `cWEURC/USDC`, `cWEURT/USDC`, `cWGBPC/USDC`, `cWGBPT/USDC`, `cWJPYC/USDC`, `cWUSDC/USDC`, `cWUSDC/USDT`, `cWUSDT/USDC`, `cWUSDT/USDT`, `cWUSDT/cWUSDC`, `cWXAUC/USDC`, `cWXAUT/USDC` +- Uniswap V2 core pairs: `1` + - `cWUSDT/cWUSDC` +- Uniswap V2 wave-1 pairs: `6` + - `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT`, `cWGBPC/cWUSDC`, `cWGBPC/cWUSDT` +- Balancer status: `reference_only` +- Curve status: `reference_only` +- Uniswap V3 status: `reference_only` +- 1inch status: `reference_only` +- Remaining wrapped mesh assets after wave 1: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Recommended next wrapped mesh pairs: `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURT/cWUSDC`, `cWEURT/cWUSDT`, `cWGBPT/cWUSDC`, `cWGBPT/cWUSDT`, `cWJPYC/cWUSDC`, `cWJPYC/cWUSDT`, `cWXAUC/cWUSDC`, `cWXAUC/cWUSDT`, `cWXAUT/cWUSDC`, `cWXAUT/cWUSDT` + +### Chain `10` — Optimism + +- Bridge available: `True` +- cW assets: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDC`, `cWUSDT`, `cWXAUC`, `cWXAUT` + +- DODO PMM live pairs: `12` + - `cWAUDC/USDC`, `cWCADC/USDC`, `cWCHFC/USDC`, `cWEURC/USDC`, `cWEURT/USDC`, `cWGBPC/USDC`, `cWGBPT/USDC`, `cWJPYC/USDC`, `cWUSDC/USDC`, `cWUSDT/USDT`, `cWXAUC/USDC`, `cWXAUT/USDC` +- Uniswap V2 core pairs: `1` + - `cWUSDT/cWUSDC` +- Uniswap V2 wave-1 pairs: `6` + - `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT`, `cWGBPC/cWUSDC`, `cWGBPC/cWUSDT` +- Balancer status: `reference_only` +- Curve status: `reference_only` +- Uniswap V3 status: `reference_only` +- 1inch status: `reference_only` +- Remaining wrapped mesh assets after wave 1: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Recommended next wrapped mesh pairs: `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURT/cWUSDC`, `cWEURT/cWUSDT`, `cWGBPT/cWUSDC`, `cWGBPT/cWUSDT`, `cWJPYC/cWUSDC`, `cWJPYC/cWUSDT`, `cWXAUC/cWUSDC`, `cWXAUC/cWUSDT`, `cWXAUT/cWUSDC`, `cWXAUT/cWUSDT` + +### Chain `25` — Cronos + +- Bridge available: `True` +- cW assets: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDC`, `cWUSDT`, `cWXAUC`, `cWXAUT` + +- DODO PMM live pairs: `12` + - `cWAUDC/USDT`, `cWCADC/USDT`, `cWCHFC/USDT`, `cWEURC/USDT`, `cWEURT/USDT`, `cWGBPC/USDT`, `cWGBPT/USDT`, `cWJPYC/USDT`, `cWUSDC/USDC`, `cWUSDT/USDT`, `cWXAUC/USDT`, `cWXAUT/USDT` +- Uniswap V2 core pairs: `1` + - `cWUSDT/cWUSDC` +- Uniswap V2 wave-1 pairs: `6` + - `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT`, `cWGBPC/cWUSDC`, `cWGBPC/cWUSDT` +- Balancer status: `unsupported` +- Curve status: `unsupported` +- Uniswap V3 status: `reference_only` +- 1inch status: `reference_only` +- Remaining wrapped mesh assets after wave 1: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Recommended next wrapped mesh pairs: `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURT/cWUSDC`, `cWEURT/cWUSDT`, `cWGBPT/cWUSDC`, `cWGBPT/cWUSDT`, `cWJPYC/cWUSDC`, `cWJPYC/cWUSDT`, `cWXAUC/cWUSDC`, `cWXAUC/cWUSDT`, `cWXAUT/cWUSDC`, `cWXAUT/cWUSDT` + +### Chain `56` — BSC (BNB Chain) + +- Bridge available: `True` +- cW assets: `cWAUDC`, `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDC`, `cWUSDT`, `cWUSDW`, `cWXAUC`, `cWXAUT` + +- DODO PMM live pairs: `10` + - `cWAUDC/USDT`, `cWCADC/USDT`, `cWCHFC/USDT`, `cWEURC/USDT`, `cWEURT/USDT`, `cWGBPC/USDT`, `cWGBPT/USDT`, `cWJPYC/USDT`, `cWXAUC/USDT`, `cWXAUT/USDT` +- Uniswap V2 core pairs: `1` + - `cWUSDT/cWUSDC` +- Uniswap V2 wave-1 pairs: `6` + - `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT`, `cWGBPC/cWUSDC`, `cWGBPC/cWUSDT` +- Balancer status: `unsupported` +- Curve status: `unsupported` +- Uniswap V3 status: `reference_only` +- 1inch status: `reference_only` +- Remaining wrapped mesh assets after wave 1: `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` +- Recommended next wrapped mesh pairs: `cWAUSDT/cWUSDC`, `cWAUSDT/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURT/cWUSDC`, `cWEURT/cWUSDT`, `cWGBPT/cWUSDC`, `cWGBPT/cWUSDT`, `cWJPYC/cWUSDC`, `cWJPYC/cWUSDT`, `cWUSDW/cWUSDC`, `cWUSDW/cWUSDT`, `cWXAUC/cWUSDC`, `cWXAUC/cWUSDT`, `cWXAUT/cWUSDC`, `cWXAUT/cWUSDT` + +### Chain `100` — Gnosis Chain + +- Bridge available: `True` +- cW assets: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDC`, `cWUSDT`, `cWXAUC`, `cWXAUT` + +- DODO PMM live pairs: `10` + - `cWAUDC/USDC`, `cWCADC/USDC`, `cWCHFC/USDC`, `cWEURC/USDC`, `cWEURT/USDC`, `cWGBPC/USDC`, `cWGBPT/USDC`, `cWJPYC/USDC`, `cWXAUC/USDC`, `cWXAUT/USDC` +- Uniswap V2 core pairs: `1` + - `cWUSDT/cWUSDC` +- Uniswap V2 wave-1 pairs: `6` + - `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT`, `cWGBPC/cWUSDC`, `cWGBPC/cWUSDT` +- Balancer status: `reference_only` +- Curve status: `reference_only` +- Uniswap V3 status: `reference_only` +- 1inch status: `reference_only` +- Remaining wrapped mesh assets after wave 1: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Recommended next wrapped mesh pairs: `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURT/cWUSDC`, `cWEURT/cWUSDT`, `cWGBPT/cWUSDC`, `cWGBPT/cWUSDT`, `cWJPYC/cWUSDC`, `cWJPYC/cWUSDT`, `cWXAUC/cWUSDC`, `cWXAUC/cWUSDT`, `cWXAUT/cWUSDC`, `cWXAUT/cWUSDT` + +### Chain `137` — Polygon + +- Bridge available: `True` +- cW assets: `cWAUDC`, `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDC`, `cWUSDT`, `cWXAUC`, `cWXAUT` + +- DODO PMM live pairs: `12` + - `cWAUDC/USDC`, `cWCADC/USDC`, `cWCHFC/USDC`, `cWEURC/USDC`, `cWEURT/USDC`, `cWGBPC/USDC`, `cWGBPT/USDC`, `cWJPYC/USDC`, `cWUSDC/USDC`, `cWUSDT/USDT`, `cWXAUC/USDC`, `cWXAUT/USDC` +- Uniswap V2 core pairs: `1` + - `cWUSDT/cWUSDC` +- Uniswap V2 wave-1 pairs: `6` + - `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT`, `cWGBPC/cWUSDC`, `cWGBPC/cWUSDT` +- Balancer status: `reference_only` +- Curve status: `reference_only` +- Uniswap V3 status: `reference_only` +- 1inch status: `reference_only` +- Remaining wrapped mesh assets after wave 1: `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Recommended next wrapped mesh pairs: `cWAUSDT/cWUSDC`, `cWAUSDT/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURT/cWUSDC`, `cWEURT/cWUSDT`, `cWGBPT/cWUSDC`, `cWGBPT/cWUSDT`, `cWJPYC/cWUSDC`, `cWJPYC/cWUSDT`, `cWXAUC/cWUSDC`, `cWXAUC/cWUSDT`, `cWXAUT/cWUSDC`, `cWXAUT/cWUSDT` + +### Chain `8453` — Base + +- Bridge available: `True` +- cW assets: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDC`, `cWUSDT`, `cWXAUC`, `cWXAUT` + +- DODO PMM live pairs: `10` + - `cWAUDC/USDC`, `cWCADC/USDC`, `cWCHFC/USDC`, `cWEURC/USDC`, `cWEURT/USDC`, `cWGBPC/USDC`, `cWGBPT/USDC`, `cWJPYC/USDC`, `cWXAUC/USDC`, `cWXAUT/USDC` +- Uniswap V2 core pairs: `1` + - `cWUSDT/cWUSDC` +- Uniswap V2 wave-1 pairs: `6` + - `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT`, `cWGBPC/cWUSDC`, `cWGBPC/cWUSDT` +- Balancer status: `reference_only` +- Curve status: `reference_only` +- Uniswap V3 status: `reference_only` +- 1inch status: `reference_only` +- Remaining wrapped mesh assets after wave 1: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Recommended next wrapped mesh pairs: `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURT/cWUSDC`, `cWEURT/cWUSDT`, `cWGBPT/cWUSDC`, `cWGBPT/cWUSDT`, `cWJPYC/cWUSDC`, `cWJPYC/cWUSDT`, `cWXAUC/cWUSDC`, `cWXAUC/cWUSDT`, `cWXAUT/cWUSDC`, `cWXAUT/cWUSDT` + +### Chain `42161` — Arbitrum One + +- Bridge available: `True` +- cW assets: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDC`, `cWUSDT`, `cWXAUC`, `cWXAUT` + +- DODO PMM live pairs: `10` + - `cWAUDC/USDC`, `cWCADC/USDC`, `cWCHFC/USDC`, `cWEURC/USDC`, `cWEURT/USDC`, `cWGBPC/USDC`, `cWGBPT/USDC`, `cWJPYC/USDC`, `cWXAUC/USDC`, `cWXAUT/USDC` +- Uniswap V2 core pairs: `1` + - `cWUSDT/cWUSDC` +- Uniswap V2 wave-1 pairs: `6` + - `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT`, `cWGBPC/cWUSDC`, `cWGBPC/cWUSDT` +- Balancer status: `reference_only` +- Curve status: `reference_only` +- Uniswap V3 status: `reference_only` +- 1inch status: `reference_only` +- Remaining wrapped mesh assets after wave 1: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Recommended next wrapped mesh pairs: `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURT/cWUSDC`, `cWEURT/cWUSDT`, `cWGBPT/cWUSDC`, `cWGBPT/cWUSDT`, `cWJPYC/cWUSDC`, `cWJPYC/cWUSDT`, `cWXAUC/cWUSDC`, `cWXAUC/cWUSDT`, `cWXAUT/cWUSDC`, `cWXAUT/cWUSDT` + +### Chain `42220` — Celo + +- Bridge available: `True` +- cW assets: `cWAUDC`, `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDC`, `cWUSDT`, `cWUSDW`, `cWXAUC`, `cWXAUT` + +- DODO PMM live pairs: `10` + - `cWAUDC/USDC`, `cWCADC/USDC`, `cWCHFC/USDC`, `cWEURC/USDC`, `cWEURT/USDC`, `cWGBPC/USDC`, `cWGBPT/USDC`, `cWJPYC/USDC`, `cWXAUC/USDC`, `cWXAUT/USDC` +- Uniswap V2 core pairs: `1` + - `cWUSDT/cWUSDC` +- Uniswap V2 wave-1 pairs: `6` + - `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT`, `cWGBPC/cWUSDC`, `cWGBPC/cWUSDT` +- Balancer status: `unsupported` +- Curve status: `reference_only` +- Uniswap V3 status: `reference_only` +- 1inch status: `reference_only` +- Remaining wrapped mesh assets after wave 1: `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` +- Recommended next wrapped mesh pairs: `cWAUSDT/cWUSDC`, `cWAUSDT/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURT/cWUSDC`, `cWEURT/cWUSDT`, `cWGBPT/cWUSDC`, `cWGBPT/cWUSDT`, `cWJPYC/cWUSDC`, `cWJPYC/cWUSDT`, `cWUSDW/cWUSDC`, `cWUSDW/cWUSDT`, `cWXAUC/cWUSDC`, `cWXAUC/cWUSDT`, `cWXAUT/cWUSDC`, `cWXAUT/cWUSDT` + +### Chain `43114` — Avalanche C-Chain + +- Bridge available: `True` +- cW assets: `cWAUDC`, `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDC`, `cWUSDT`, `cWUSDW`, `cWXAUC`, `cWXAUT` + +- DODO PMM live pairs: `10` + - `cWAUDC/USDC`, `cWCADC/USDC`, `cWCHFC/USDC`, `cWEURC/USDC`, `cWEURT/USDC`, `cWGBPC/USDC`, `cWGBPT/USDC`, `cWJPYC/USDC`, `cWXAUC/USDC`, `cWXAUT/USDC` +- Uniswap V2 core pairs: `1` + - `cWUSDT/cWUSDC` +- Uniswap V2 wave-1 pairs: `6` + - `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT`, `cWGBPC/cWUSDC`, `cWGBPC/cWUSDT` +- Balancer status: `unsupported` +- Curve status: `reference_only` +- Uniswap V3 status: `reference_only` +- 1inch status: `reference_only` +- Remaining wrapped mesh assets after wave 1: `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` +- Recommended next wrapped mesh pairs: `cWAUSDT/cWUSDC`, `cWAUSDT/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURT/cWUSDC`, `cWEURT/cWUSDT`, `cWGBPT/cWUSDC`, `cWGBPT/cWUSDT`, `cWJPYC/cWUSDC`, `cWJPYC/cWUSDT`, `cWUSDW/cWUSDC`, `cWUSDW/cWUSDT`, `cWXAUC/cWUSDC`, `cWXAUC/cWUSDT`, `cWXAUT/cWUSDC`, `cWXAUT/cWUSDT` diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_FIRST_DEPLOYMENT_TARGET_MATRIX.md b/docs/03-deployment/PROMOD_UNISWAP_V2_FIRST_DEPLOYMENT_TARGET_MATRIX.md new file mode 100644 index 00000000..a712786b --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_FIRST_DEPLOYMENT_TARGET_MATRIX.md @@ -0,0 +1,27 @@ +# Mr. Promod Uniswap V2 First Deployment Target Matrix + +- Generated: `2026-04-17T17:47:29Z` +- Program: Mr. Promod Uniswap V2 cW Deep Liquidity Program +- Mainnet funding posture: `triple-rail-support` via `cWUSDC, cWUSDT, cWAUSDT` +- Purpose: choose the first pair per chain so the first live pool rollout is concrete rather than generic. + +| Chain | Network | First Pair | Why It Should Be First | Required Tokens | Other GRU v2 cW* Tokens | Next Wrapped Expansion Pairs | Post-Deploy Commands | +|---|---|---|---|---|---|---|---| +| `1` | Ethereum Mainnet | `cWUSDT/cWUSDC` | Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented. | `cWUSDT`, `cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh`
`python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered`
`node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json`
`bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` | +| `10` | Optimism | `cWUSDT/cWUSDC` | Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented. | `cWUSDT`, `cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh`
`python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered`
`node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json`
`bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` | +| `25` | Cronos | `cWUSDT/cWUSDC` | Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented. | `cWUSDT`, `cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh`
`python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered`
`node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json`
`bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` | +| `56` | BSC | `cWUSDT/cWUSDC` | Core wrapped support rail and the one we are standardizing on first; it creates transferable depth between the two settlement-adjacent cW rails before any canonical stable exit pool. | `cWUSDT`, `cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh`
`python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered`
`node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json`
`bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` | +| `100` | Gnosis | `cWUSDT/cWUSDC` | Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented. | `cWUSDT`, `cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh`
`python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered`
`node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json`
`bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` | +| `137` | Polygon | `cWUSDT/cWUSDC` | Core wrapped support rail and the one we are standardizing on first; it creates transferable depth between the two settlement-adjacent cW rails before any canonical stable exit pool. | `cWUSDT`, `cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh`
`python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered`
`node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json`
`bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` | +| `8453` | Base | `cWUSDT/cWUSDC` | Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented. | `cWUSDT`, `cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh`
`python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered`
`node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json`
`bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` | +| `42161` | Arbitrum One | `cWUSDT/cWUSDC` | Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented. | `cWUSDT`, `cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh`
`python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered`
`node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json`
`bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` | +| `42220` | Celo | `cWUSDT/cWUSDC` | Core wrapped support rail and the one we are standardizing on first; it creates transferable depth between the two settlement-adjacent cW rails before any canonical stable exit pool. | `cWUSDT`, `cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh`
`python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered`
`node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json`
`bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` | +| `43114` | Avalanche C-Chain | `cWUSDT/cWUSDC` | Core wrapped support rail and the one we are standardizing on first; it creates transferable depth between the two settlement-adjacent cW rails before any canonical stable exit pool. | `cWUSDT`, `cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh`
`python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered`
`node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json`
`bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` | + +## Selection Rule + +- First choice is always `cWUSDT/cWUSDC` when both rails are documented on the chain. +- If `cWUSDT/cWUSDC` is unavailable, prefer a wrapped-first fallback before opening a canonical settlement rail. +- The other documented GRU v2 `cW*` assets expand next as wrapped pairs against `cWUSDC` and `cWUSDT`. +- Canonical settlement rails such as `cWUSDC/USDC` or `cWUSDT/USDT` become the first target only when the chain cannot open with the wrapped support rail. +- `cWAUSDT` remains a wrapped-depth support asset, not the default first target, unless it is required as the only viable wrapped-first fallback. diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_LIQUIDITY_PROGRAM.md b/docs/03-deployment/PROMOD_UNISWAP_V2_LIQUIDITY_PROGRAM.md new file mode 100644 index 00000000..e624e6a1 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_LIQUIDITY_PROGRAM.md @@ -0,0 +1,40 @@ +# Mr. Promod Uniswap V2 Liquidity Program + +- Generated: `2026-04-17T17:47:28Z` +- Program: Mr. Promod Uniswap V2 cW Deep Liquidity Program +- Strict note: this is a repo-native desired-state rollout package for Uniswap V2 or Uniswap-V2-compatible pools. It does not claim live deployment unless factory/router addresses and pool addresses are recorded. +- Mainnet funding posture: `triple-rail-support` via `cWUSDC, cWUSDT, cWAUSDT` + +## Deployment Model + +- Phase 1: build wrapped-depth support first when canonical USDC or USDT is scarce. +- Phase 2: add or deepen canonical settlement rails once enough hub-stable inventory exists. +- Promotion gate: do not treat any Uniswap V2 rail as live until its factory/router env, pool address, and indexer visibility are all recorded. + +## Wrapped-Depth Policy + +- Preferred wrapped pairs: `cWAUSDT/cWUSDC, cWAUSDT/cWUSDT, cWUSDT/cWUSDC` +- Allocation split: flagship `50%`, second `30%`, third `20%` + +## Operator Matrix + +| Chain | Network | Tier | Hub Stable | Core Wrapped Pairs | Additional GRU v2 cW* Tokens | Next Wrapped Expansion Pairs | Settlement Phase Pairs | Existing PMM Analogs | +|---|---|---|---|---|---|---|---|---| +| `1` | Ethereum Mainnet | `tier_1` | `USDC` | `cWUSDT/cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC` | `cWUSDC/USDC`, `cWUSDT/USDC`, `cWUSDT/cWUSDC` | +| `10` | Optimism | `tier_1` | `USDC` | `cWUSDT/cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC` | `cWUSDC/USDC` | +| `25` | Cronos | `tier_2` | `USDT` | `cWUSDT/cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `cWUSDC/USDT`, `cWUSDT/USDT` | `cWUSDT/USDT` | +| `56` | BSC | `tier_2` | `USDT` | `cWAUSDT/cWUSDC`, `cWAUSDT/cWUSDT`, `cWUSDT/cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `cWUSDC/USDT`, `cWUSDT/USDT`, `cWAUSDT/USDT` | — | +| `100` | Gnosis | `tier_2` | `USDC` | `cWUSDT/cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC` | — | +| `137` | Polygon | `tier_1` | `USDC` | `cWAUSDT/cWUSDC`, `cWAUSDT/cWUSDT`, `cWUSDT/cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC`, `cWAUSDT/USDC` | `cWUSDC/USDC` | +| `8453` | Base | `tier_1` | `USDC` | `cWUSDT/cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC` | — | +| `42161` | Arbitrum One | `tier_1` | `USDC` | `cWUSDT/cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC` | — | +| `42220` | Celo | `tier_2` | `USDC` | `cWAUSDT/cWUSDC`, `cWAUSDT/cWUSDT`, `cWUSDT/cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC`, `cWAUSDT/USDC` | — | +| `43114` | Avalanche C-Chain | `tier_2` | `USDC` | `cWAUSDT/cWUSDC`, `cWAUSDT/cWUSDT`, `cWUSDT/cWUSDC` | `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC`, `cWAUSDT/USDC` | — | + +## Readiness Rules + +- Use `cWAUSDT` as a wrapped-depth support asset, not as a full replacement for `USDC` or `USDT` settlement. +- Keep `cWUSDT/cWUSDC` available everywhere both core wrapped rails are documented. +- After the first rail is live, expand the other documented GRU v2 `cW*` assets against `cWUSDC` and `cWUSDT` before opening broad canonical settlement exits. +- Prefer `cWUSDC/USDC`, `cWUSDT/USDT`, or `cWAUSDT/USDC|USDT` only after canonical hub inventory is deep enough to matter. +- For every promoted chain, add the new pools to `deployment-status.json`, Uniswap V2 env config, and token-aggregation indexing. diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_LIVE_PAIR_DISCOVERY.md b/docs/03-deployment/PROMOD_UNISWAP_V2_LIVE_PAIR_DISCOVERY.md new file mode 100644 index 00000000..5e82e3a9 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_LIVE_PAIR_DISCOVERY.md @@ -0,0 +1,19 @@ +# Mr. Promod Uniswap V2 Live Pair Discovery + +- Generated: `2026-04-18T17:04:47Z` +- Live pairs discovered: `19` +- Healthy live pairs: `7` +- Write mode: `False` + +| Chain | Network | Env Ready | Live Pairs Found | Healthy Live Pairs | +|---|---|---|---|---| +| `1` | Ethereum Mainnet | `True` | `cWUSDC/USDC`, `cWUSDT/cWUSDC` | — | +| `10` | Optimism | `True` | `cWUSDT/cWUSDC` | `cWUSDT/cWUSDC` | +| `25` | Cronos | `True` | `cWUSDT/cWUSDC` | `cWUSDT/cWUSDC` | +| `56` | BSC (BNB Chain) | `True` | `cWUSDT/cWUSDC`, `cWAUSDT/cWUSDT`, `cWAUSDT/cWUSDC` | `cWUSDT/cWUSDC` | +| `100` | Gnosis Chain | `True` | `cWUSDT/cWUSDC` | `cWUSDT/cWUSDC` | +| `137` | Polygon | `True` | `cWUSDT/cWUSDC`, `cWAUSDT/cWUSDT`, `cWAUSDT/cWUSDC` | — | +| `42220` | Celo | `True` | `cWUSDT/cWUSDC`, `cWAUSDT/cWUSDT`, `cWAUSDT/cWUSDC` | `cWUSDT/cWUSDC` | +| `43114` | Avalanche C-Chain | `True` | `cWUSDT/cWUSDC`, `cWAUSDT/cWUSDT`, `cWAUSDT/cWUSDC` | — | +| `8453` | Base | `True` | `cWUSDT/cWUSDC` | `cWUSDT/cWUSDC` | +| `42161` | Arbitrum One | `True` | `cWUSDT/cWUSDC` | `cWUSDT/cWUSDC` | diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_MATRIX.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_MATRIX.md new file mode 100644 index 00000000..b8aced95 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_MATRIX.md @@ -0,0 +1,112 @@ +# Mr. Promod Uniswap V2 Phase 1 Bridge 3x Matrix + +- Generated: `2026-04-17T18:22:33Z` +- Purpose: strict triple-sized Chain 138 bridge funding plan for the remaining phase-1 pool rollout. +- Bridge multiplier: `3x` +- Total cUSDT to bridge from Chain 138: `21000` +- Total cUSDC to bridge from Chain 138: `21002.4` + +| Chain | Network | Base cUSDT Need | Base cUSDC Need | 3x cUSDT To Bridge | 3x cUSDC To Bridge | Bridge Env | +|---|---|---:|---:|---:|---:|---| +| `1` | Ethereum Mainnet | `0` | `0` | `0` | `0` | `CW_BRIDGE_MAINNET` | +| `10` | Optimism | `1000` | `1000` | `3000` | `3000` | `CW_BRIDGE_OPTIMISM` | +| `25` | Cronos | `1000` | `1000` | `3000` | `3000` | `CW_BRIDGE_CRONOS` | +| `56` | BSC | `1000` | `1000` | `3000` | `3000` | `CW_BRIDGE_BSC` | +| `100` | Gnosis | `1000` | `1000` | `3000` | `3000` | `CW_BRIDGE_GNOSIS` | +| `137` | Polygon | `0` | `0` | `0` | `0` | `CW_BRIDGE_POLYGON` | +| `8453` | Base | `1000` | `1000` | `3000` | `3000` | `CW_BRIDGE_BASE` | +| `42161` | Arbitrum One | `1000` | `1000` | `3000` | `3000` | `CW_BRIDGE_ARBITRUM` | +| `42220` | Celo | `1000` | `1000` | `3000` | `3000` | `CW_BRIDGE_CELO` | +| `43114` | Avalanche | `0` | `0.8` | `0` | `2.4` | `CW_BRIDGE_AVALANCHE` | + +## Notes + +### Chain `1` — Ethereum Mainnet + +- Recommended action: `seed_now` +- 3x cUSDT to bridge: `0` +- 3x cUSDC to bridge: `0` +- Bridge env: `CW_BRIDGE_MAINNET` +- Bridge present: `true` +- Bridge note: Bridge path is structurally available for chain `1` via `CW_BRIDGE_MAINNET` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `10` — Optimism + +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- Bridge env: `CW_BRIDGE_OPTIMISM` +- Bridge present: `true` +- Bridge note: Bridge path is structurally available for chain `10` via `CW_BRIDGE_OPTIMISM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `25` — Cronos + +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- Bridge env: `CW_BRIDGE_CRONOS` +- Bridge present: `true` +- Bridge note: Bridge path is structurally available for chain `25` via `CW_BRIDGE_CRONOS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `56` — BSC + +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- Bridge env: `CW_BRIDGE_BSC` +- Bridge present: `true` +- Bridge note: Bridge path is structurally available for chain `56` via `CW_BRIDGE_BSC` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `100` — Gnosis + +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- Bridge env: `CW_BRIDGE_GNOSIS` +- Bridge present: `true` +- Bridge note: Bridge path is structurally available for chain `100` via `CW_BRIDGE_GNOSIS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `137` — Polygon + +- Recommended action: `seed_now` +- 3x cUSDT to bridge: `0` +- 3x cUSDC to bridge: `0` +- Bridge env: `CW_BRIDGE_POLYGON` +- Bridge present: `true` +- Bridge note: Bridge path is structurally available for chain `137` via `CW_BRIDGE_POLYGON` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `8453` — Base + +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- Bridge env: `CW_BRIDGE_BASE` +- Bridge present: `true` +- Bridge note: Bridge path is structurally available for chain `8453` via `CW_BRIDGE_BASE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `42161` — Arbitrum One + +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- Bridge env: `CW_BRIDGE_ARBITRUM` +- Bridge present: `true` +- Bridge note: Bridge path is structurally available for chain `42161` via `CW_BRIDGE_ARBITRUM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `42220` — Celo + +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- Bridge env: `CW_BRIDGE_CELO` +- Bridge present: `true` +- Bridge note: Bridge path is structurally available for chain `42220` via `CW_BRIDGE_CELO` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `43114` — Avalanche + +- Recommended action: `bridge_or_mint_missing_side_then_seed` +- 3x cUSDT to bridge: `0` +- 3x cUSDC to bridge: `2.4` +- Bridge env: `CW_BRIDGE_AVALANCHE` +- Bridge present: `true` +- Bridge note: Bridge path is structurally available for chain `43114` via `CW_BRIDGE_AVALANCHE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_OPERATOR_PACKET.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_OPERATOR_PACKET.md new file mode 100644 index 00000000..a2788b58 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_OPERATOR_PACKET.md @@ -0,0 +1,420 @@ +# Mr. Promod Uniswap V2 Phase 1 Bridge 3x Operator Packet + +- Generated: `2026-04-17T18:23:46Z` +- Purpose: strict operator packet for `3x` bridge sizing and post-funding pool deployment. +- Bridge multiplier: `3x` + +| Chain | Network | 3x cUSDT | 3x cUSDC | Destination cW Addresses | CW_BRIDGE Env | +|---|---|---:|---:|---|---| +| `1` | Ethereum Mainnet | `0` | `0` | `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` | `CW_BRIDGE_MAINNET` | +| `10` | Optimism | `3000` | `3000` | `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` | `CW_BRIDGE_OPTIMISM` | +| `25` | Cronos | `3000` | `3000` | `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` | `CW_BRIDGE_CRONOS` | +| `56` | BSC | `3000` | `3000` | `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` | `CW_BRIDGE_BSC` | +| `100` | Gnosis | `3000` | `3000` | `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` | `CW_BRIDGE_GNOSIS` | +| `137` | Polygon | `0` | `0` | `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` | `CW_BRIDGE_POLYGON` | +| `8453` | Base | `3000` | `3000` | `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` | `CW_BRIDGE_BASE` | +| `42161` | Arbitrum One | `3000` | `3000` | `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` | `CW_BRIDGE_ARBITRUM` | +| `42220` | Celo | `3000` | `3000` | `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` | `CW_BRIDGE_CELO` | +| `43114` | Avalanche | `0` | `2.4` | `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` | `CW_BRIDGE_AVALANCHE` | + +## Post-Funding Deploy Blocks + +### Chain `1` — Ethereum Mainnet + +- 3x cUSDT to bridge: `0` +- 3x cUSDC to bridge: `0` +- CW_BRIDGE env: `CW_BRIDGE_MAINNET` +- Recommended action: `seed_now` + +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export CWUSDT="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export CWUSDC="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="8888511867466" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `10` — Optimism + +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- CW_BRIDGE env: `CW_BRIDGE_OPTIMISM` +- Recommended action: `bridge_or_mint_destination_then_seed` + +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_MAINNET_RPC}" +export FACTORY="0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf" +export ROUTER="0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2" +export CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `25` — Cronos + +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- CW_BRIDGE env: `CW_BRIDGE_CRONOS` +- Recommended action: `bridge_or_mint_destination_then_seed` + +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="0x3B44B2a187a7b3824131F8db5a74194D0a42Fc15" +export ROUTER="0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae" +export CWUSDT="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export CWUSDC="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `56` — BSC + +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- CW_BRIDGE env: `CW_BRIDGE_BSC` +- Recommended action: `bridge_or_mint_destination_then_seed` + +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73" +export ROUTER="0x10ED43C718714eb63d5aA57B78B54704E256024E" +export CWUSDT="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export CWUSDC="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `100` — Gnosis + +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- CW_BRIDGE env: `CW_BRIDGE_GNOSIS` +- Recommended action: `bridge_or_mint_destination_then_seed` + +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_MAINNET_RPC}" +export FACTORY="0xc35DADB65012eC5796536bD9864eD8773aBc74C4" +export ROUTER="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506" +export CWUSDT="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export CWUSDC="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `137` — Polygon + +- 3x cUSDT to bridge: `0` +- 3x cUSDC to bridge: `0` +- CW_BRIDGE env: `CW_BRIDGE_POLYGON` +- Recommended action: `seed_now` + +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export CWUSDT="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export CWUSDC="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="996297636" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `8453` — Base + +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- CW_BRIDGE env: `CW_BRIDGE_BASE` +- Recommended action: `bridge_or_mint_destination_then_seed` + +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_MAINNET_RPC}" +export FACTORY="0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E" +export ROUTER="0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb" +export CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `42161` — Arbitrum One + +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- CW_BRIDGE env: `CW_BRIDGE_ARBITRUM` +- Recommended action: `bridge_or_mint_destination_then_seed` + +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_MAINNET_RPC}" +export FACTORY="0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E" +export ROUTER="0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb" +export CWUSDT="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export CWUSDC="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `42220` — Celo + +- 3x cUSDT to bridge: `3000` +- 3x cUSDC to bridge: `3000` +- CW_BRIDGE env: `CW_BRIDGE_CELO` +- Recommended action: `bridge_or_mint_destination_then_seed` + +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_MAINNET_RPC}" +export FACTORY="0x62d5b84bE28a183aBB507E125B384122D2C25fAE" +export ROUTER="0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121" +export CWUSDT="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export CWUSDC="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `43114` — Avalanche + +- 3x cUSDT to bridge: `0` +- 3x cUSDC to bridge: `2.4` +- CW_BRIDGE env: `CW_BRIDGE_AVALANCHE` +- Recommended action: `bridge_or_mint_missing_side_then_seed` + +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10" +export ROUTER="0x60aE616a2155Ee3d9A68541Ba4544862310933d4" +export CWUSDT="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export CWUSDC="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="2400000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_FROM_138_MATRIX.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_FROM_138_MATRIX.md new file mode 100644 index 00000000..fe48090e --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_FROM_138_MATRIX.md @@ -0,0 +1,112 @@ +# Mr. Promod Uniswap V2 Phase 1 Bridge-From-138 Matrix + +- Generated: `2026-04-17T18:20:51Z` +- Signer: `0x4A666F96fC8764181194447A7dFdb7d471b301C8` +- Purpose: strict destination funding matrix from Chain 138 GRU v2 feeder inventory for the remaining phase-1 pool rollout. +- Total cUSDT needed from Chain 138: `7000` +- Total cUSDC needed from Chain 138: `7000.8` + +| Chain | Network | cUSDT Needed | cUSDC Needed | Bridge Env | Bridge Present | Recommended Action | +|---|---|---:|---:|---|---|---| +| `1` | Ethereum Mainnet | `0` | `0` | `CW_BRIDGE_MAINNET` | `true` | `seed_now` | +| `10` | Optimism | `1000` | `1000` | `CW_BRIDGE_OPTIMISM` | `true` | `bridge_or_mint_destination_then_seed` | +| `25` | Cronos | `1000` | `1000` | `CW_BRIDGE_CRONOS` | `true` | `bridge_or_mint_destination_then_seed` | +| `56` | BSC | `1000` | `1000` | `CW_BRIDGE_BSC` | `true` | `bridge_or_mint_destination_then_seed` | +| `100` | Gnosis | `1000` | `1000` | `CW_BRIDGE_GNOSIS` | `true` | `bridge_or_mint_destination_then_seed` | +| `137` | Polygon | `0` | `0` | `CW_BRIDGE_POLYGON` | `true` | `seed_now` | +| `8453` | Base | `1000` | `1000` | `CW_BRIDGE_BASE` | `true` | `bridge_or_mint_destination_then_seed` | +| `42161` | Arbitrum One | `1000` | `1000` | `CW_BRIDGE_ARBITRUM` | `true` | `bridge_or_mint_destination_then_seed` | +| `42220` | Celo | `1000` | `1000` | `CW_BRIDGE_CELO` | `true` | `bridge_or_mint_destination_then_seed` | +| `43114` | Avalanche | `0` | `0.8` | `CW_BRIDGE_AVALANCHE` | `true` | `bridge_or_mint_missing_side_then_seed` | + +## Notes + +### Chain `1` — Ethereum Mainnet + +- Tokens missing on destination: `none` +- Minimum gas issue: `false` +- Bridge config env: `CW_BRIDGE_MAINNET` +- Bridge present: `true` +- Recommended action: `seed_now` +- Bridge note: Bridge path is structurally available for chain `1` via `CW_BRIDGE_MAINNET` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `10` — Optimism + +- Tokens missing on destination: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `true` +- Bridge config env: `CW_BRIDGE_OPTIMISM` +- Bridge present: `true` +- Recommended action: `bridge_or_mint_destination_then_seed` +- Bridge note: Bridge path is structurally available for chain `10` via `CW_BRIDGE_OPTIMISM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `25` — Cronos + +- Tokens missing on destination: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `false` +- Bridge config env: `CW_BRIDGE_CRONOS` +- Bridge present: `true` +- Recommended action: `bridge_or_mint_destination_then_seed` +- Bridge note: Bridge path is structurally available for chain `25` via `CW_BRIDGE_CRONOS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `56` — BSC + +- Tokens missing on destination: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `false` +- Bridge config env: `CW_BRIDGE_BSC` +- Bridge present: `true` +- Recommended action: `bridge_or_mint_destination_then_seed` +- Bridge note: Bridge path is structurally available for chain `56` via `CW_BRIDGE_BSC` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `100` — Gnosis + +- Tokens missing on destination: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `false` +- Bridge config env: `CW_BRIDGE_GNOSIS` +- Bridge present: `true` +- Recommended action: `bridge_or_mint_destination_then_seed` +- Bridge note: Bridge path is structurally available for chain `100` via `CW_BRIDGE_GNOSIS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `137` — Polygon + +- Tokens missing on destination: `none` +- Minimum gas issue: `false` +- Bridge config env: `CW_BRIDGE_POLYGON` +- Bridge present: `true` +- Recommended action: `seed_now` +- Bridge note: Bridge path is structurally available for chain `137` via `CW_BRIDGE_POLYGON` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `8453` — Base + +- Tokens missing on destination: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `true` +- Bridge config env: `CW_BRIDGE_BASE` +- Bridge present: `true` +- Recommended action: `bridge_or_mint_destination_then_seed` +- Bridge note: Bridge path is structurally available for chain `8453` via `CW_BRIDGE_BASE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `42161` — Arbitrum One + +- Tokens missing on destination: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `false` +- Bridge config env: `CW_BRIDGE_ARBITRUM` +- Bridge present: `true` +- Recommended action: `bridge_or_mint_destination_then_seed` +- Bridge note: Bridge path is structurally available for chain `42161` via `CW_BRIDGE_ARBITRUM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `42220` — Celo + +- Tokens missing on destination: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `false` +- Bridge config env: `CW_BRIDGE_CELO` +- Bridge present: `true` +- Recommended action: `bridge_or_mint_destination_then_seed` +- Bridge note: Bridge path is structurally available for chain `42220` via `CW_BRIDGE_CELO` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +### Chain `43114` — Avalanche + +- Tokens missing on destination: `cWUSDC` +- Minimum gas issue: `false` +- Bridge config env: `CW_BRIDGE_AVALANCHE` +- Bridge present: `true` +- Recommended action: `bridge_or_mint_missing_side_then_seed` +- Bridge note: Bridge path is structurally available for chain `43114` via `CW_BRIDGE_AVALANCHE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_OR_MINT_RUNBOOK.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_OR_MINT_RUNBOOK.md new file mode 100644 index 00000000..0178554a --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_OR_MINT_RUNBOOK.md @@ -0,0 +1,760 @@ +# Mr. Promod Uniswap V2 Phase 1 Bridge-Or-Mint Execution Runbook + +- Generated: `2026-04-17T18:42:43Z` +- Purpose: strict bridge-or-mint runbook matched to the `3x` operator packet. +- Source chain: `138` / Chain 138 +- Source cUSDT: `0x93E66202A11B1772E55407B32B44e5Cd8eda7f22` +- Source cUSDC: `0xf22258f57794CC8E06237084b353Ab30fFfa640b` + +## Operating Rule + +1. If the chain is already funded, seed the pool directly. +2. If the chain has a documented selector env and `CW_BRIDGE_`, prefer bridge preflight and then follow the cW bridge runbooks. +3. If the bridge path is not fully parameterized in repo env, use the exact destination mint fallback block. +4. After funding lands, execute the post-funding deploy block and then refresh discovery and promotion gates. + +| Chain | Network | Preferred Path | 3x cUSDT | 3x cUSDC | CW_BRIDGE Env | Selector Env | +|---|---|---|---:|---:|---|---| +| `1` | Ethereum Mainnet | `seed_now` | `0` | `0` | `CW_BRIDGE_MAINNET` | `ETH_MAINNET_SELECTOR` | +| `10` | Optimism | `bridge_then_seed` | `3000` | `3000` | `CW_BRIDGE_OPTIMISM` | `OPTIMISM_SELECTOR` | +| `25` | Cronos | `bridge_then_seed` | `3000` | `3000` | `CW_BRIDGE_CRONOS` | `CRONOS_SELECTOR` | +| `56` | BSC | `bridge_then_seed` | `3000` | `3000` | `CW_BRIDGE_BSC` | `BSC_SELECTOR` | +| `100` | Gnosis | `bridge_then_seed` | `3000` | `3000` | `CW_BRIDGE_GNOSIS` | `GNOSIS_SELECTOR` | +| `137` | Polygon | `seed_now` | `0` | `0` | `CW_BRIDGE_POLYGON` | `POLYGON_SELECTOR` | +| `8453` | Base | `bridge_then_seed` | `3000` | `3000` | `CW_BRIDGE_BASE` | `BASE_SELECTOR` | +| `42161` | Arbitrum One | `bridge_then_seed` | `3000` | `3000` | `CW_BRIDGE_ARBITRUM` | `ARBITRUM_SELECTOR` | +| `42220` | Celo | `mint_then_seed` | `3000` | `3000` | `CW_BRIDGE_CELO` | `missing` | +| `43114` | Avalanche | `bridge_then_seed` | `0` | `2.4` | `CW_BRIDGE_AVALANCHE` | `AVALANCHE_SELECTOR` | + +## Per-Chain Runbook + +### Chain `1` — Ethereum Mainnet + +- Preferred path: `seed_now` +- Recommended action: `seed_now` +- 3x cUSDT from 138: `0` +- 3x cUSDC from 138: `0` +- Destination cWUSDT: `0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +- Destination cWUSDC: `0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +- CW_BRIDGE env: `CW_BRIDGE_MAINNET` +- Selector env: `ETH_MAINNET_SELECTOR` + +Post-funding deploy block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export CWUSDT="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export CWUSDC="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="8888511867466" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `10` — Optimism + +- Preferred path: `bridge_then_seed` +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- Destination cWUSDT: `0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +- Destination cWUSDC: `0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +- CW_BRIDGE env: `CW_BRIDGE_OPTIMISM` +- Selector env: `OPTIMISM_SELECTOR` + +Bridge preflight block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${OPTIMISM_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_OPTIMISM}" +export DEST_CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export DEST_CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${OPTIMISM_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback blocks: +- Mint `cWUSDT` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${OPTIMISM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${OPTIMISM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_MAINNET_RPC}" +export FACTORY="0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf" +export ROUTER="0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2" +export CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `25` — Cronos + +- Preferred path: `bridge_then_seed` +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- Destination cWUSDT: `0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +- Destination cWUSDC: `0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +- CW_BRIDGE env: `CW_BRIDGE_CRONOS` +- Selector env: `CRONOS_SELECTOR` + +Bridge preflight block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${CRONOS_RPC_URL}" +export DEST_CW_BRIDGE="${CW_BRIDGE_CRONOS}" +export DEST_CWUSDT="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export DEST_CWUSDC="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${CRONOS_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback blocks: +- Mint `cWUSDT` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CRONOS_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CRONOS_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="0x3B44B2a187a7b3824131F8db5a74194D0a42Fc15" +export ROUTER="0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae" +export CWUSDT="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export CWUSDC="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `56` — BSC + +- Preferred path: `bridge_then_seed` +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- Destination cWUSDT: `0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +- Destination cWUSDC: `0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +- CW_BRIDGE env: `CW_BRIDGE_BSC` +- Selector env: `BSC_SELECTOR` + +Bridge preflight block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${BSC_RPC_URL}" +export DEST_CW_BRIDGE="${CW_BRIDGE_BSC}" +export DEST_CWUSDT="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export DEST_CWUSDC="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${BSC_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback blocks: +- Mint `cWUSDT` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BSC_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BSC_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73" +export ROUTER="0x10ED43C718714eb63d5aA57B78B54704E256024E" +export CWUSDT="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export CWUSDC="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `100` — Gnosis + +- Preferred path: `bridge_then_seed` +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- Destination cWUSDT: `0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +- Destination cWUSDC: `0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +- CW_BRIDGE env: `CW_BRIDGE_GNOSIS` +- Selector env: `GNOSIS_SELECTOR` + +Bridge preflight block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${GNOSIS_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_GNOSIS}" +export DEST_CWUSDT="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export DEST_CWUSDC="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${GNOSIS_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback blocks: +- Mint `cWUSDT` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${GNOSIS_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${GNOSIS_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_MAINNET_RPC}" +export FACTORY="0xc35DADB65012eC5796536bD9864eD8773aBc74C4" +export ROUTER="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506" +export CWUSDT="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export CWUSDC="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `137` — Polygon + +- Preferred path: `seed_now` +- Recommended action: `seed_now` +- 3x cUSDT from 138: `0` +- 3x cUSDC from 138: `0` +- Destination cWUSDT: `0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +- Destination cWUSDC: `0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +- CW_BRIDGE env: `CW_BRIDGE_POLYGON` +- Selector env: `POLYGON_SELECTOR` + +Post-funding deploy block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export CWUSDT="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export CWUSDC="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="996297636" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `8453` — Base + +- Preferred path: `bridge_then_seed` +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- Destination cWUSDT: `0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +- Destination cWUSDC: `0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +- CW_BRIDGE env: `CW_BRIDGE_BASE` +- Selector env: `BASE_SELECTOR` + +Bridge preflight block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${BASE_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_BASE}" +export DEST_CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export DEST_CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${BASE_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback blocks: +- Mint `cWUSDT` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BASE_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BASE_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_MAINNET_RPC}" +export FACTORY="0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E" +export ROUTER="0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb" +export CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `42161` — Arbitrum One + +- Preferred path: `bridge_then_seed` +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- Destination cWUSDT: `0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +- Destination cWUSDC: `0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +- CW_BRIDGE env: `CW_BRIDGE_ARBITRUM` +- Selector env: `ARBITRUM_SELECTOR` + +Bridge preflight block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${ARBITRUM_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_ARBITRUM}" +export DEST_CWUSDT="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export DEST_CWUSDC="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${ARBITRUM_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback blocks: +- Mint `cWUSDT` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${ARBITRUM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${ARBITRUM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_MAINNET_RPC}" +export FACTORY="0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E" +export ROUTER="0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb" +export CWUSDT="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export CWUSDC="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `42220` — Celo + +- Preferred path: `mint_then_seed` +- Recommended action: `bridge_or_mint_destination_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- Destination cWUSDT: `0x73376eB92c16977B126dB9112936A20Fa0De3442` +- Destination cWUSDC: `0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +- CW_BRIDGE env: `CW_BRIDGE_CELO` +- Selector env: `missing` + +Bridge preflight block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${CELO_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_CELO}" +export DEST_CWUSDT="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export DEST_CWUSDC="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +# DEST_SELECTOR env is not currently documented for this chain in smom-dbis-138/.env + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback blocks: +- Mint `cWUSDT` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x73376eB92c16977B126dB9112936A20Fa0De3442" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CELO_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CELO_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_MAINNET_RPC}" +export FACTORY="0x62d5b84bE28a183aBB507E125B384122D2C25fAE" +export ROUTER="0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121" +export CWUSDT="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export CWUSDC="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `43114` — Avalanche + +- Preferred path: `bridge_then_seed` +- Recommended action: `bridge_or_mint_missing_side_then_seed` +- 3x cUSDT from 138: `0` +- 3x cUSDC from 138: `2.4` +- Destination cWUSDT: `0x8142BA530B08f3950128601F00DaaA678213DFdf` +- Destination cWUSDC: `0x0C242b513008Cd49C89078F5aFb237A3112251EB` +- CW_BRIDGE env: `CW_BRIDGE_AVALANCHE` +- Selector env: `AVALANCHE_SELECTOR` + +Bridge preflight block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${AVALANCHE_RPC_URL}" +export DEST_CW_BRIDGE="${CW_BRIDGE_AVALANCHE}" +export DEST_CWUSDT="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export DEST_CWUSDC="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="0" +export BRIDGE_CUSDC_HUMAN="2.4" +export BRIDGE_CUSDT_RAW="0" +export BRIDGE_CUSDC_RAW="2400000" +export DEST_SELECTOR="${AVALANCHE_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback blocks: +- Mint `cWUSDC` `0.8`: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x0C242b513008Cd49C89078F5aFb237A3112251EB" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "800000" \ + --rpc-url "${AVALANCHE_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10" +export ROUTER="0x60aE616a2155Ee3d9A68541Ba4544862310933d4" +export CWUSDT="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export CWUSDC="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="2400000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_EXECUTION_CHECKLIST.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_EXECUTION_CHECKLIST.md new file mode 100644 index 00000000..76a29b57 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_EXECUTION_CHECKLIST.md @@ -0,0 +1,195 @@ +# Mr. Promod Uniswap V2 Phase 1 Execution Checklist + +- Generated: `2026-04-17T17:55:54Z` +- Program: Mr. Promod Uniswap V2 cW Deep Liquidity Program +- Mainnet funding posture: `triple-rail-support` via `cWUSDC, cWUSDT, cWAUSDT` +- Purpose: exact chain-by-chain checklist for the first full phase 1 rollout of `cWUSDT/cWUSDC`. + +## Global Rule + +- Do not advance to the next chain until the current chain's `cWUSDT/cWUSDC` pair is discoverable on-chain and recordable in `deployment-status.json`. + +| Chain | Network | Phase 1 Pair | Required Env | RPC Keys | Required Token Addresses | +|---|---|---|---|---|---| +| `1` | Ethereum Mainnet | `cWUSDT/cWUSDC` | `CHAIN_1_UNISWAP_V2_FACTORY`, `CHAIN_1_UNISWAP_V2_ROUTER`, `CHAIN_1_UNISWAP_V2_START_BLOCK` | `ETHEREUM_MAINNET_RPC` | `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` | +| `10` | Optimism | `cWUSDT/cWUSDC` | `CHAIN_10_UNISWAP_V2_FACTORY`, `CHAIN_10_UNISWAP_V2_ROUTER`, `CHAIN_10_UNISWAP_V2_START_BLOCK` | `OPTIMISM_RPC_URL`, `OPTIMISM_MAINNET_RPC` | `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` | +| `25` | Cronos | `cWUSDT/cWUSDC` | `CHAIN_25_UNISWAP_V2_FACTORY`, `CHAIN_25_UNISWAP_V2_ROUTER`, `CHAIN_25_UNISWAP_V2_START_BLOCK` | `CRONOS_RPC_URL`, `CRONOS_MAINNET_RPC` | `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` | +| `56` | BSC | `cWUSDT/cWUSDC` | `CHAIN_56_UNISWAP_V2_FACTORY`, `CHAIN_56_UNISWAP_V2_ROUTER`, `CHAIN_56_UNISWAP_V2_START_BLOCK` | `BSC_RPC_URL`, `BSC_MAINNET_RPC` | `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` | +| `100` | Gnosis | `cWUSDT/cWUSDC` | `CHAIN_100_UNISWAP_V2_FACTORY`, `CHAIN_100_UNISWAP_V2_ROUTER`, `CHAIN_100_UNISWAP_V2_START_BLOCK` | `GNOSIS_RPC_URL`, `GNOSIS_MAINNET_RPC`, `GNOSIS_RPC` | `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` | +| `137` | Polygon | `cWUSDT/cWUSDC` | `CHAIN_137_UNISWAP_V2_FACTORY`, `CHAIN_137_UNISWAP_V2_ROUTER`, `CHAIN_137_UNISWAP_V2_START_BLOCK` | `POLYGON_MAINNET_RPC`, `POLYGON_RPC_URL` | `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` | +| `8453` | Base | `cWUSDT/cWUSDC` | `CHAIN_8453_UNISWAP_V2_FACTORY`, `CHAIN_8453_UNISWAP_V2_ROUTER`, `CHAIN_8453_UNISWAP_V2_START_BLOCK` | `BASE_RPC_URL`, `BASE_MAINNET_RPC` | `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` | +| `42161` | Arbitrum One | `cWUSDT/cWUSDC` | `CHAIN_42161_UNISWAP_V2_FACTORY`, `CHAIN_42161_UNISWAP_V2_ROUTER`, `CHAIN_42161_UNISWAP_V2_START_BLOCK` | `ARBITRUM_RPC_URL`, `ARBITRUM_MAINNET_RPC` | `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` | +| `42220` | Celo | `cWUSDT/cWUSDC` | `CHAIN_42220_UNISWAP_V2_FACTORY`, `CHAIN_42220_UNISWAP_V2_ROUTER`, `CHAIN_42220_UNISWAP_V2_START_BLOCK` | `CELO_RPC_URL`, `CELO_MAINNET_RPC`, `CELO_RPC` | `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` | +| `43114` | Avalanche C-Chain | `cWUSDT/cWUSDC` | `CHAIN_43114_UNISWAP_V2_FACTORY`, `CHAIN_43114_UNISWAP_V2_ROUTER`, `CHAIN_43114_UNISWAP_V2_START_BLOCK` | `AVALANCHE_RPC_URL`, `AVALANCHE_MAINNET_RPC` | `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` | + +## Execution Steps + +### Chain `1` — Ethereum Mainnet + +1. Confirm `CHAIN_1_UNISWAP_V2_FACTORY`, `CHAIN_1_UNISWAP_V2_ROUTER`, and `CHAIN_1_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`. +2. Confirm one RPC env is usable for chain `1`: `ETHEREUM_MAINNET_RPC`. +3. Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction. +4. Probe the factory first: `cast call "${CHAIN_1_UNISWAP_V2_FACTORY}" "getPair(address,address)(address)" 0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE 0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a --rpc-url "${ETHEREUM_MAINNET_RPC}"`. +5. If the pair is absent, create it: `cast send "${CHAIN_1_UNISWAP_V2_FACTORY}" "createPair(address,address)(address)" 0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE 0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a --rpc-url "${ETHEREUM_MAINNET_RPC}" --private-key "$PRIVATE_KEY"`. +6. Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `"${CHAIN_1_UNISWAP_V2_ROUTER}"`. +7. Rebuild live pair discovery and write the discovered pair into `deployment-status.json`. +8. Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded. + +Post-phase-1 commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `10` — Optimism + +1. Confirm `CHAIN_10_UNISWAP_V2_FACTORY`, `CHAIN_10_UNISWAP_V2_ROUTER`, and `CHAIN_10_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`. +2. Confirm one RPC env is usable for chain `10`: `OPTIMISM_RPC_URL`, `OPTIMISM_MAINNET_RPC`. +3. Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction. +4. Probe the factory first: `cast call "${CHAIN_10_UNISWAP_V2_FACTORY}" "getPair(address,address)(address)" 0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6 0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105 --rpc-url "${OPTIMISM_RPC_URL}"`. +5. If the pair is absent, create it: `cast send "${CHAIN_10_UNISWAP_V2_FACTORY}" "createPair(address,address)(address)" 0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6 0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105 --rpc-url "${OPTIMISM_RPC_URL}" --private-key "$PRIVATE_KEY"`. +6. Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `"${CHAIN_10_UNISWAP_V2_ROUTER}"`. +7. Rebuild live pair discovery and write the discovered pair into `deployment-status.json`. +8. Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded. + +Post-phase-1 commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `25` — Cronos + +1. Confirm `CHAIN_25_UNISWAP_V2_FACTORY`, `CHAIN_25_UNISWAP_V2_ROUTER`, and `CHAIN_25_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`. +2. Confirm one RPC env is usable for chain `25`: `CRONOS_RPC_URL`, `CRONOS_MAINNET_RPC`. +3. Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction. +4. Probe the factory first: `cast call "${CHAIN_25_UNISWAP_V2_FACTORY}" "getPair(address,address)(address)" 0x72948a7a813B60b37Cd0c920C4657DbFF54312b8 0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec --rpc-url "${CRONOS_RPC_URL}"`. +5. If the pair is absent, create it: `cast send "${CHAIN_25_UNISWAP_V2_FACTORY}" "createPair(address,address)(address)" 0x72948a7a813B60b37Cd0c920C4657DbFF54312b8 0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec --rpc-url "${CRONOS_RPC_URL}" --private-key "$PRIVATE_KEY"`. +6. Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `"${CHAIN_25_UNISWAP_V2_ROUTER}"`. +7. Rebuild live pair discovery and write the discovered pair into `deployment-status.json`. +8. Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded. + +Post-phase-1 commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `56` — BSC + +1. Confirm `CHAIN_56_UNISWAP_V2_FACTORY`, `CHAIN_56_UNISWAP_V2_ROUTER`, and `CHAIN_56_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`. +2. Confirm one RPC env is usable for chain `56`: `BSC_RPC_URL`, `BSC_MAINNET_RPC`. +3. Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction. +4. Probe the factory first: `cast call "${CHAIN_56_UNISWAP_V2_FACTORY}" "getPair(address,address)(address)" 0x9a1D0dBEE997929ED02fD19E0E199704d20914dB 0x5355148C4740fcc3D7a96F05EdD89AB14851206b --rpc-url "${BSC_RPC_URL}"`. +5. If the pair is absent, create it: `cast send "${CHAIN_56_UNISWAP_V2_FACTORY}" "createPair(address,address)(address)" 0x9a1D0dBEE997929ED02fD19E0E199704d20914dB 0x5355148C4740fcc3D7a96F05EdD89AB14851206b --rpc-url "${BSC_RPC_URL}" --private-key "$PRIVATE_KEY"`. +6. Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `"${CHAIN_56_UNISWAP_V2_ROUTER}"`. +7. Rebuild live pair discovery and write the discovered pair into `deployment-status.json`. +8. Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded. + +Post-phase-1 commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `100` — Gnosis + +1. Confirm `CHAIN_100_UNISWAP_V2_FACTORY`, `CHAIN_100_UNISWAP_V2_ROUTER`, and `CHAIN_100_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`. +2. Confirm one RPC env is usable for chain `100`: `GNOSIS_RPC_URL`, `GNOSIS_MAINNET_RPC`, `GNOSIS_RPC`. +3. Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction. +4. Probe the factory first: `cast call "${CHAIN_100_UNISWAP_V2_FACTORY}" "getPair(address,address)(address)" 0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF 0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4 --rpc-url "${GNOSIS_RPC_URL}"`. +5. If the pair is absent, create it: `cast send "${CHAIN_100_UNISWAP_V2_FACTORY}" "createPair(address,address)(address)" 0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF 0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4 --rpc-url "${GNOSIS_RPC_URL}" --private-key "$PRIVATE_KEY"`. +6. Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `"${CHAIN_100_UNISWAP_V2_ROUTER}"`. +7. Rebuild live pair discovery and write the discovered pair into `deployment-status.json`. +8. Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded. + +Post-phase-1 commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `137` — Polygon + +1. Confirm `CHAIN_137_UNISWAP_V2_FACTORY`, `CHAIN_137_UNISWAP_V2_ROUTER`, and `CHAIN_137_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`. +2. Confirm one RPC env is usable for chain `137`: `POLYGON_MAINNET_RPC`, `POLYGON_RPC_URL`. +3. Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction. +4. Probe the factory first: `cast call "${CHAIN_137_UNISWAP_V2_FACTORY}" "getPair(address,address)(address)" 0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF 0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4 --rpc-url "${POLYGON_MAINNET_RPC}"`. +5. If the pair is absent, create it: `cast send "${CHAIN_137_UNISWAP_V2_FACTORY}" "createPair(address,address)(address)" 0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF 0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4 --rpc-url "${POLYGON_MAINNET_RPC}" --private-key "$PRIVATE_KEY"`. +6. Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `"${CHAIN_137_UNISWAP_V2_ROUTER}"`. +7. Rebuild live pair discovery and write the discovered pair into `deployment-status.json`. +8. Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded. + +Post-phase-1 commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `8453` — Base + +1. Confirm `CHAIN_8453_UNISWAP_V2_FACTORY`, `CHAIN_8453_UNISWAP_V2_ROUTER`, and `CHAIN_8453_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`. +2. Confirm one RPC env is usable for chain `8453`: `BASE_RPC_URL`, `BASE_MAINNET_RPC`. +3. Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction. +4. Probe the factory first: `cast call "${CHAIN_8453_UNISWAP_V2_FACTORY}" "getPair(address,address)(address)" 0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6 0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105 --rpc-url "${BASE_RPC_URL}"`. +5. If the pair is absent, create it: `cast send "${CHAIN_8453_UNISWAP_V2_FACTORY}" "createPair(address,address)(address)" 0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6 0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105 --rpc-url "${BASE_RPC_URL}" --private-key "$PRIVATE_KEY"`. +6. Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `"${CHAIN_8453_UNISWAP_V2_ROUTER}"`. +7. Rebuild live pair discovery and write the discovered pair into `deployment-status.json`. +8. Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded. + +Post-phase-1 commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `42161` — Arbitrum One + +1. Confirm `CHAIN_42161_UNISWAP_V2_FACTORY`, `CHAIN_42161_UNISWAP_V2_ROUTER`, and `CHAIN_42161_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`. +2. Confirm one RPC env is usable for chain `42161`: `ARBITRUM_RPC_URL`, `ARBITRUM_MAINNET_RPC`. +3. Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction. +4. Probe the factory first: `cast call "${CHAIN_42161_UNISWAP_V2_FACTORY}" "getPair(address,address)(address)" 0x73ADaF7dBa95221c080db5631466d2bC54f6a76B 0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF --rpc-url "${ARBITRUM_RPC_URL}"`. +5. If the pair is absent, create it: `cast send "${CHAIN_42161_UNISWAP_V2_FACTORY}" "createPair(address,address)(address)" 0x73ADaF7dBa95221c080db5631466d2bC54f6a76B 0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF --rpc-url "${ARBITRUM_RPC_URL}" --private-key "$PRIVATE_KEY"`. +6. Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `"${CHAIN_42161_UNISWAP_V2_ROUTER}"`. +7. Rebuild live pair discovery and write the discovered pair into `deployment-status.json`. +8. Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded. + +Post-phase-1 commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `42220` — Celo + +1. Confirm `CHAIN_42220_UNISWAP_V2_FACTORY`, `CHAIN_42220_UNISWAP_V2_ROUTER`, and `CHAIN_42220_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`. +2. Confirm one RPC env is usable for chain `42220`: `CELO_RPC_URL`, `CELO_MAINNET_RPC`, `CELO_RPC`. +3. Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction. +4. Probe the factory first: `cast call "${CHAIN_42220_UNISWAP_V2_FACTORY}" "getPair(address,address)(address)" 0x73376eB92c16977B126dB9112936A20Fa0De3442 0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3 --rpc-url "${CELO_RPC_URL}"`. +5. If the pair is absent, create it: `cast send "${CHAIN_42220_UNISWAP_V2_FACTORY}" "createPair(address,address)(address)" 0x73376eB92c16977B126dB9112936A20Fa0De3442 0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3 --rpc-url "${CELO_RPC_URL}" --private-key "$PRIVATE_KEY"`. +6. Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `"${CHAIN_42220_UNISWAP_V2_ROUTER}"`. +7. Rebuild live pair discovery and write the discovered pair into `deployment-status.json`. +8. Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded. + +Post-phase-1 commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `43114` — Avalanche C-Chain + +1. Confirm `CHAIN_43114_UNISWAP_V2_FACTORY`, `CHAIN_43114_UNISWAP_V2_ROUTER`, and `CHAIN_43114_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`. +2. Confirm one RPC env is usable for chain `43114`: `AVALANCHE_RPC_URL`, `AVALANCHE_MAINNET_RPC`. +3. Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction. +4. Probe the factory first: `cast call "${CHAIN_43114_UNISWAP_V2_FACTORY}" "getPair(address,address)(address)" 0x8142BA530B08f3950128601F00DaaA678213DFdf 0x0C242b513008Cd49C89078F5aFb237A3112251EB --rpc-url "${AVALANCHE_RPC_URL}"`. +5. If the pair is absent, create it: `cast send "${CHAIN_43114_UNISWAP_V2_FACTORY}" "createPair(address,address)(address)" 0x8142BA530B08f3950128601F00DaaA678213DFdf 0x0C242b513008Cd49C89078F5aFb237A3112251EB --rpc-url "${AVALANCHE_RPC_URL}" --private-key "$PRIVATE_KEY"`. +6. Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `"${CHAIN_43114_UNISWAP_V2_ROUTER}"`. +7. Rebuild live pair discovery and write the discovered pair into `deployment-status.json`. +8. Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded. + +Post-phase-1 commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_ACTIONS.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_ACTIONS.md new file mode 100644 index 00000000..41852eb0 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_ACTIONS.md @@ -0,0 +1,284 @@ +# Mr. Promod Uniswap V2 Phase 1 Funding Actions + +- Generated: `2026-04-17T18:13:05Z` +- Signer: `0x4A666F96fC8764181194447A7dFdb7d471b301C8` +- Purpose: strict per-chain action plan for phase-1 funding and deployment. + +| Chain | Network | Action | Tokens Missing | Gas Issue | Recommended Seed | +|---|---|---|---|---|---:| +| `1` | Ethereum Mainnet | `seed_now` | `none` | `false` | `8888511.867466` | +| `10` | Optimism | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `true` | `1000` | +| `25` | Cronos | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `false` | `1000` | +| `56` | BSC | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `false` | `1000` | +| `100` | Gnosis | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `false` | `1000` | +| `137` | Polygon | `seed_now` | `none` | `false` | `996.297636` | +| `8453` | Base | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `true` | `1000` | +| `42161` | Arbitrum One | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `false` | `1000` | +| `42220` | Celo | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `false` | `1000` | +| `43114` | Avalanche | `mint_missing_side_then_seed` | `cWUSDC` | `false` | `0.8` | + +## Per-Chain Actions + +### Chain `1` — Ethereum Mainnet + +- Action: `seed_now` +- Tokens missing: `none` +- Gas issue: `false` +- Gas note: No minimum gas top-up issue from the latest preflight snapshot. +- Bridge possible: `true` +- Bridge note: Bridge path is structurally available for chain `1` via `CW_BRIDGE_MAINNET` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +Post-funding deploy block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export CWUSDT="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export CWUSDC="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="8888511867466" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `10` — Optimism + +- Action: `mint_destination_then_seed` +- Tokens missing: `cWUSDT`, `cWUSDC` +- Gas issue: `true` +- Gas note: Top up native gas on Optimism before minting or seeding; current balance is below the 0.001 safety threshold. +- Bridge possible: `true` +- Bridge note: Bridge path is structurally available for chain `10` via `CW_BRIDGE_OPTIMISM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +Mint steps: +- Mint `cWUSDT` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${OPTIMISM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${OPTIMISM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +### Chain `25` — Cronos + +- Action: `mint_destination_then_seed` +- Tokens missing: `cWUSDT`, `cWUSDC` +- Gas issue: `false` +- Gas note: No minimum gas top-up issue from the latest preflight snapshot. +- Bridge possible: `true` +- Bridge note: Bridge path is structurally available for chain `25` via `CW_BRIDGE_CRONOS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +Mint steps: +- Mint `cWUSDT` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CRONOS_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CRONOS_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +### Chain `56` — BSC + +- Action: `mint_destination_then_seed` +- Tokens missing: `cWUSDT`, `cWUSDC` +- Gas issue: `false` +- Gas note: No minimum gas top-up issue from the latest preflight snapshot. +- Bridge possible: `true` +- Bridge note: Bridge path is structurally available for chain `56` via `CW_BRIDGE_BSC` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +Mint steps: +- Mint `cWUSDT` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BSC_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BSC_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +### Chain `100` — Gnosis + +- Action: `mint_destination_then_seed` +- Tokens missing: `cWUSDT`, `cWUSDC` +- Gas issue: `false` +- Gas note: No minimum gas top-up issue from the latest preflight snapshot. +- Bridge possible: `true` +- Bridge note: Bridge path is structurally available for chain `100` via `CW_BRIDGE_GNOSIS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +Mint steps: +- Mint `cWUSDT` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${GNOSIS_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${GNOSIS_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +### Chain `137` — Polygon + +- Action: `seed_now` +- Tokens missing: `none` +- Gas issue: `false` +- Gas note: No minimum gas top-up issue from the latest preflight snapshot. +- Bridge possible: `true` +- Bridge note: Bridge path is structurally available for chain `137` via `CW_BRIDGE_POLYGON` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +Post-funding deploy block: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export CWUSDT="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export CWUSDC="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="996297636" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `8453` — Base + +- Action: `mint_destination_then_seed` +- Tokens missing: `cWUSDT`, `cWUSDC` +- Gas issue: `true` +- Gas note: Top up native gas on Base before minting or seeding; current balance is below the 0.001 safety threshold. +- Bridge possible: `true` +- Bridge note: Bridge path is structurally available for chain `8453` via `CW_BRIDGE_BASE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +Mint steps: +- Mint `cWUSDT` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BASE_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BASE_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +### Chain `42161` — Arbitrum One + +- Action: `mint_destination_then_seed` +- Tokens missing: `cWUSDT`, `cWUSDC` +- Gas issue: `false` +- Gas note: No minimum gas top-up issue from the latest preflight snapshot. +- Bridge possible: `true` +- Bridge note: Bridge path is structurally available for chain `42161` via `CW_BRIDGE_ARBITRUM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +Mint steps: +- Mint `cWUSDT` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${ARBITRUM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${ARBITRUM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +### Chain `42220` — Celo + +- Action: `mint_destination_then_seed` +- Tokens missing: `cWUSDT`, `cWUSDC` +- Gas issue: `false` +- Gas note: No minimum gas top-up issue from the latest preflight snapshot. +- Bridge possible: `true` +- Bridge note: Bridge path is structurally available for chain `42220` via `CW_BRIDGE_CELO` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +Mint steps: +- Mint `cWUSDT` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x73376eB92c16977B126dB9112936A20Fa0De3442" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CELO_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- Mint `cWUSDC` `1000` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CELO_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +### Chain `43114` — Avalanche + +- Action: `mint_missing_side_then_seed` +- Tokens missing: `cWUSDC` +- Gas issue: `false` +- Gas note: No minimum gas top-up issue from the latest preflight snapshot. +- Bridge possible: `true` +- Bridge note: Bridge path is structurally available for chain `43114` via `CW_BRIDGE_AVALANCHE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script. + +Mint steps: +- Mint `cWUSDC` `0.8` with: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x0C242b513008Cd49C89078F5aFb237A3112251EB" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "800000" \ + --rpc-url "${AVALANCHE_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_BUNDLE.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_BUNDLE.md new file mode 100644 index 00000000..825d81c4 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_BUNDLE.md @@ -0,0 +1,100 @@ +# Mr. Promod Uniswap V2 Phase 1 Funding Bundle + +- Generated: `2026-04-17T20:05:59Z` +- Signer: `0x4A666F96fC8764181194447A7dFdb7d471b301C8` +- Purpose: strict per-chain funding bundle for `cWUSDT/cWUSDC` phase-1 rollout. + +| Chain | Network | Tokens Missing | Minimum Gas Issue | Max Equal Seed | Funding Ready Now | +|---|---|---|---|---:|---| +| `1` | Ethereum Mainnet | `cWUSDC` | `false` | `0` | `false` | +| `10` | Optimism | `cWUSDT`, `cWUSDC` | `false` | `0` | `false` | +| `25` | Cronos | `none` | `false` | `1000` | `false` | +| `56` | BSC | `none` | `false` | `1000` | `false` | +| `100` | Gnosis | `cWUSDT`, `cWUSDC` | `false` | `0` | `false` | +| `137` | Polygon | `cWUSDC` | `false` | `0` | `false` | +| `8453` | Base | `cWUSDT`, `cWUSDC` | `false` | `0` | `false` | +| `42161` | Arbitrum One | `cWUSDT`, `cWUSDC` | `false` | `0` | `false` | +| `42220` | Celo | `cWUSDT`, `cWUSDC` | `false` | `0` | `false` | +| `43114` | Avalanche | `cWUSDT`, `cWUSDC` | `false` | `0` | `false` | + +## Exact Post-Funding Deploy Blocks + +### Chain `1` — Ethereum Mainnet + +- Tokens missing: `cWUSDC` +- Minimum gas issue: `false` +- Max equal seed after funding snapshot: `0` + +Post-funding deploy block becomes executable once the missing token and gas blockers are cleared. Use the chain-specific execution checklist plus this chain's env and token addresses. + +### Chain `10` — Optimism + +- Tokens missing: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `false` +- Max equal seed after funding snapshot: `0` + +Post-funding deploy block becomes executable once the missing token and gas blockers are cleared. Use the chain-specific execution checklist plus this chain's env and token addresses. + +### Chain `25` — Cronos + +- Tokens missing: `none` +- Minimum gas issue: `false` +- Max equal seed after funding snapshot: `1000` + +Post-funding deploy block becomes executable once the missing token and gas blockers are cleared. Use the chain-specific execution checklist plus this chain's env and token addresses. + +### Chain `56` — BSC + +- Tokens missing: `none` +- Minimum gas issue: `false` +- Max equal seed after funding snapshot: `1000` + +Post-funding deploy block becomes executable once the missing token and gas blockers are cleared. Use the chain-specific execution checklist plus this chain's env and token addresses. + +### Chain `100` — Gnosis + +- Tokens missing: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `false` +- Max equal seed after funding snapshot: `0` + +Post-funding deploy block becomes executable once the missing token and gas blockers are cleared. Use the chain-specific execution checklist plus this chain's env and token addresses. + +### Chain `137` — Polygon + +- Tokens missing: `cWUSDC` +- Minimum gas issue: `false` +- Max equal seed after funding snapshot: `0` + +Post-funding deploy block becomes executable once the missing token and gas blockers are cleared. Use the chain-specific execution checklist plus this chain's env and token addresses. + +### Chain `8453` — Base + +- Tokens missing: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `false` +- Max equal seed after funding snapshot: `0` + +Post-funding deploy block becomes executable once the missing token and gas blockers are cleared. Use the chain-specific execution checklist plus this chain's env and token addresses. + +### Chain `42161` — Arbitrum One + +- Tokens missing: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `false` +- Max equal seed after funding snapshot: `0` + +Post-funding deploy block becomes executable once the missing token and gas blockers are cleared. Use the chain-specific execution checklist plus this chain's env and token addresses. + +### Chain `42220` — Celo + +- Tokens missing: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `false` +- Max equal seed after funding snapshot: `0` + +Post-funding deploy block becomes executable once the missing token and gas blockers are cleared. Use the chain-specific execution checklist plus this chain's env and token addresses. + +### Chain `43114` — Avalanche + +- Tokens missing: `cWUSDT`, `cWUSDC` +- Minimum gas issue: `false` +- Max equal seed after funding snapshot: `0` + +Post-funding deploy block becomes executable once the missing token and gas blockers are cleared. Use the chain-specific execution checklist plus this chain's env and token addresses. diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_READINESS.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_READINESS.md new file mode 100644 index 00000000..f88e8bf9 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_READINESS.md @@ -0,0 +1,89 @@ +# Mr. Promod Uniswap V2 Phase 1 Funding Readiness + +- Generated: `2026-04-17T20:05:54Z` +- Signer: `0x4A666F96fC8764181194447A7dFdb7d471b301C8` +- Purpose: live deployer-wallet funding view for seeding `cWUSDT/cWUSDC` phase-1 pools chain by chain. +- Completed: `1`, `10`, `25`, `56`, `100`, `137`, `8453`, `42161`, `42220`, `43114` +- Ready now: none +- Needs funding: none + +| Chain | Network | Status | Pair Exists | Seeded Live | Native Gas | cWUSDT | cWUSDC | Max Equal Seed | +|---|---|---|---|---|---:|---:|---:|---:| +| `1` | Ethereum Mainnet | `completed` | `true` | `true` | `0.028982898459925766` | `397.197013` | `0` | `0` | +| `10` | Optimism | `completed` | `true` | `true` | `0.001980670026642148` | `0` | `0` | `0` | +| `25` | Cronos | `completed` | `true` | `true` | `22.401143346977489259` | `1000` | `1000` | `1000` | +| `56` | BSC | `completed` | `true` | `true` | `0.010626271367072709` | `1000` | `1000` | `1000` | +| `100` | Gnosis | `completed` | `true` | `true` | `2.407080479781350729` | `0` | `0` | `0` | +| `137` | Polygon | `completed` | `true` | `true` | `24.318080574425380349` | `2.686028` | `0` | `0` | +| `8453` | Base | `completed` | `true` | `true` | `0.002877934067617928` | `0` | `0` | `0` | +| `42161` | Arbitrum One | `completed` | `true` | `true` | `0.001055113904178255` | `0` | `0` | `0` | +| `42220` | Celo | `completed` | `true` | `true` | `8.537307308649465530` | `0` | `0` | `0` | +| `43114` | Avalanche | `completed` | `true` | `true` | `0.446784013286210977` | `0` | `0` | `0` | + +## Blockers + +### Chain `1` — Ethereum Mainnet + +- execution status: `completed` +- pair seeded live: `true` +- cWUSDC balance is zero + +### Chain `10` — Optimism + +- execution status: `completed` +- pair seeded live: `true` +- cWUSDT balance is zero +- cWUSDC balance is zero + +### Chain `25` — Cronos + +- execution status: `completed` +- pair seeded live: `true` +- no funding blockers + +### Chain `56` — BSC + +- execution status: `completed` +- pair seeded live: `true` +- no funding blockers + +### Chain `100` — Gnosis + +- execution status: `completed` +- pair seeded live: `true` +- cWUSDT balance is zero +- cWUSDC balance is zero + +### Chain `137` — Polygon + +- execution status: `completed` +- pair seeded live: `true` +- cWUSDC balance is zero + +### Chain `8453` — Base + +- execution status: `completed` +- pair seeded live: `true` +- cWUSDT balance is zero +- cWUSDC balance is zero + +### Chain `42161` — Arbitrum One + +- execution status: `completed` +- pair seeded live: `true` +- cWUSDT balance is zero +- cWUSDC balance is zero + +### Chain `42220` — Celo + +- execution status: `completed` +- pair seeded live: `true` +- cWUSDT balance is zero +- cWUSDC balance is zero + +### Chain `43114` — Avalanche + +- execution status: `completed` +- pair seeded live: `true` +- cWUSDT balance is zero +- cWUSDC balance is zero diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_OPERATOR_PASTE_PACK.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_OPERATOR_PASTE_PACK.md new file mode 100644 index 00000000..ea38eba0 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_OPERATOR_PASTE_PACK.md @@ -0,0 +1,634 @@ +# Mr. Promod Uniswap V2 Phase 1 Remaining 8 Operator Paste Pack + +- Generated: `2026-04-17T18:51:53Z` +- Purpose: one flat paste-ready pack for the remaining eight phase-1 chains after `1` and `137`. + +| Order | Chain | Network | Preferred Path | 3x cUSDT | 3x cUSDC | CW_BRIDGE Env | Selector Env | +|---|---|---|---|---:|---:|---|---| +| `1` | `10` | Optimism | `bridge_then_seed` | `3000` | `3000` | `CW_BRIDGE_OPTIMISM` | `OPTIMISM_SELECTOR` | +| `2` | `25` | Cronos | `bridge_then_seed` | `3000` | `3000` | `CW_BRIDGE_CRONOS` | `CRONOS_SELECTOR` | +| `3` | `56` | BSC | `bridge_then_seed` | `3000` | `3000` | `CW_BRIDGE_BSC` | `BSC_SELECTOR` | +| `4` | `100` | Gnosis | `bridge_then_seed` | `3000` | `3000` | `CW_BRIDGE_GNOSIS` | `GNOSIS_SELECTOR` | +| `5` | `8453` | Base | `bridge_then_seed` | `3000` | `3000` | `CW_BRIDGE_BASE` | `BASE_SELECTOR` | +| `6` | `42161` | Arbitrum One | `bridge_then_seed` | `3000` | `3000` | `CW_BRIDGE_ARBITRUM` | `ARBITRUM_SELECTOR` | +| `7` | `42220` | Celo | `mint_then_seed` | `3000` | `3000` | `CW_BRIDGE_CELO` | `missing` | +| `8` | `43114` | Avalanche | `bridge_then_seed` | `0` | `2.4` | `CW_BRIDGE_AVALANCHE` | `AVALANCHE_SELECTOR` | + +## Flat Paste Pack + +### Chain `10` — Optimism + +- Preferred path: `bridge_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- CW_BRIDGE env: `CW_BRIDGE_OPTIMISM` +- Selector env: `OPTIMISM_SELECTOR` + +Bridge preflight: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${OPTIMISM_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_OPTIMISM}" +export DEST_CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export DEST_CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${OPTIMISM_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback: +- `cWUSDT` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${OPTIMISM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- `cWUSDC` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${OPTIMISM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_MAINNET_RPC}" +export FACTORY="0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf" +export ROUTER="0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2" +export CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `25` — Cronos + +- Preferred path: `bridge_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- CW_BRIDGE env: `CW_BRIDGE_CRONOS` +- Selector env: `CRONOS_SELECTOR` + +Bridge preflight: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${CRONOS_RPC_URL}" +export DEST_CW_BRIDGE="${CW_BRIDGE_CRONOS}" +export DEST_CWUSDT="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export DEST_CWUSDC="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${CRONOS_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback: +- `cWUSDT` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CRONOS_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- `cWUSDC` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CRONOS_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="0x3B44B2a187a7b3824131F8db5a74194D0a42Fc15" +export ROUTER="0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae" +export CWUSDT="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export CWUSDC="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `56` — BSC + +- Preferred path: `bridge_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- CW_BRIDGE env: `CW_BRIDGE_BSC` +- Selector env: `BSC_SELECTOR` + +Bridge preflight: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${BSC_RPC_URL}" +export DEST_CW_BRIDGE="${CW_BRIDGE_BSC}" +export DEST_CWUSDT="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export DEST_CWUSDC="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${BSC_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback: +- `cWUSDT` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BSC_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- `cWUSDC` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BSC_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73" +export ROUTER="0x10ED43C718714eb63d5aA57B78B54704E256024E" +export CWUSDT="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export CWUSDC="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `100` — Gnosis + +- Preferred path: `bridge_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- CW_BRIDGE env: `CW_BRIDGE_GNOSIS` +- Selector env: `GNOSIS_SELECTOR` + +Bridge preflight: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${GNOSIS_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_GNOSIS}" +export DEST_CWUSDT="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export DEST_CWUSDC="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${GNOSIS_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback: +- `cWUSDT` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${GNOSIS_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- `cWUSDC` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${GNOSIS_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_MAINNET_RPC}" +export FACTORY="0xc35DADB65012eC5796536bD9864eD8773aBc74C4" +export ROUTER="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506" +export CWUSDT="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export CWUSDC="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `8453` — Base + +- Preferred path: `bridge_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- CW_BRIDGE env: `CW_BRIDGE_BASE` +- Selector env: `BASE_SELECTOR` + +Bridge preflight: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${BASE_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_BASE}" +export DEST_CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export DEST_CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${BASE_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback: +- `cWUSDT` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BASE_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- `cWUSDC` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BASE_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_MAINNET_RPC}" +export FACTORY="0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E" +export ROUTER="0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb" +export CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `42161` — Arbitrum One + +- Preferred path: `bridge_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- CW_BRIDGE env: `CW_BRIDGE_ARBITRUM` +- Selector env: `ARBITRUM_SELECTOR` + +Bridge preflight: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${ARBITRUM_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_ARBITRUM}" +export DEST_CWUSDT="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export DEST_CWUSDC="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${ARBITRUM_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback: +- `cWUSDT` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${ARBITRUM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- `cWUSDC` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${ARBITRUM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_MAINNET_RPC}" +export FACTORY="0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E" +export ROUTER="0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb" +export CWUSDT="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export CWUSDC="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `42220` — Celo + +- Preferred path: `mint_then_seed` +- 3x cUSDT from 138: `3000` +- 3x cUSDC from 138: `3000` +- CW_BRIDGE env: `CW_BRIDGE_CELO` +- Selector env: `missing` + +Bridge preflight: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${CELO_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_CELO}" +export DEST_CWUSDT="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export DEST_CWUSDC="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +# DEST_SELECTOR env is not currently documented for this chain in smom-dbis-138/.env + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback: +- `cWUSDT` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x73376eB92c16977B126dB9112936A20Fa0De3442" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CELO_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` +- `cWUSDC` `1000` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CELO_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_MAINNET_RPC}" +export FACTORY="0x62d5b84bE28a183aBB507E125B384122D2C25fAE" +export ROUTER="0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121" +export CWUSDT="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export CWUSDC="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` + +### Chain `43114` — Avalanche + +- Preferred path: `bridge_then_seed` +- 3x cUSDT from 138: `0` +- 3x cUSDC from 138: `2.4` +- CW_BRIDGE env: `CW_BRIDGE_AVALANCHE` +- Selector env: `AVALANCHE_SELECTOR` + +Bridge preflight: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${AVALANCHE_RPC_URL}" +export DEST_CW_BRIDGE="${CW_BRIDGE_AVALANCHE}" +export DEST_CWUSDT="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export DEST_CWUSDC="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="0" +export BRIDGE_CUSDC_HUMAN="2.4" +export BRIDGE_CUSDT_RAW="0" +export BRIDGE_CUSDC_RAW="2400000" +export DEST_SELECTOR="${AVALANCHE_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." +``` + +Mint fallback: +- `cWUSDC` `0.8` +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x0C242b513008Cd49C89078F5aFb237A3112251EB" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "800000" \ + --rpc-url "${AVALANCHE_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 +``` + +Post-funding deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10" +export ROUTER="0x60aE616a2155Ee3d9A68541Ba4544862310933d4" +export CWUSDT="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export CWUSDC="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="2400000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json +``` diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_SHELL_PASTE_PACK.sh b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_SHELL_PASTE_PACK.sh new file mode 100644 index 00000000..233bd17b --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_SHELL_PASTE_PACK.sh @@ -0,0 +1,458 @@ +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${OPTIMISM_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_OPTIMISM}" +export DEST_CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export DEST_CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${OPTIMISM_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${OPTIMISM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${OPTIMISM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_MAINNET_RPC}" +export FACTORY="0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf" +export ROUTER="0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2" +export CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${CRONOS_RPC_URL}" +export DEST_CW_BRIDGE="${CW_BRIDGE_CRONOS}" +export DEST_CWUSDT="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export DEST_CWUSDC="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${CRONOS_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CRONOS_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CRONOS_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="0x3B44B2a187a7b3824131F8db5a74194D0a42Fc15" +export ROUTER="0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae" +export CWUSDT="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export CWUSDC="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${BSC_RPC_URL}" +export DEST_CW_BRIDGE="${CW_BRIDGE_BSC}" +export DEST_CWUSDT="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export DEST_CWUSDC="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${BSC_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BSC_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BSC_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73" +export ROUTER="0x10ED43C718714eb63d5aA57B78B54704E256024E" +export CWUSDT="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export CWUSDC="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${GNOSIS_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_GNOSIS}" +export DEST_CWUSDT="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export DEST_CWUSDC="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${GNOSIS_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${GNOSIS_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${GNOSIS_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_MAINNET_RPC}" +export FACTORY="0xc35DADB65012eC5796536bD9864eD8773aBc74C4" +export ROUTER="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506" +export CWUSDT="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export CWUSDC="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${BASE_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_BASE}" +export DEST_CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export DEST_CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${BASE_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BASE_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${BASE_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_MAINNET_RPC}" +export FACTORY="0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E" +export ROUTER="0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb" +export CWUSDT="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export CWUSDC="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${ARBITRUM_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_ARBITRUM}" +export DEST_CWUSDT="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export DEST_CWUSDC="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +export DEST_SELECTOR="${ARBITRUM_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${ARBITRUM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${ARBITRUM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_MAINNET_RPC}" +export FACTORY="0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E" +export ROUTER="0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb" +export CWUSDT="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export CWUSDC="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${CELO_MAINNET_RPC}" +export DEST_CW_BRIDGE="${CW_BRIDGE_CELO}" +export DEST_CWUSDT="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export DEST_CWUSDC="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="3000" +export BRIDGE_CUSDC_HUMAN="3000" +export BRIDGE_CUSDT_RAW="3000000000" +export BRIDGE_CUSDC_RAW="3000000000" +# DEST_SELECTOR env is not currently documented for this chain in smom-dbis-138/.env + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x73376eB92c16977B126dB9112936A20Fa0De3442" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CELO_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \ + --rpc-url "${CELO_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_MAINNET_RPC}" +export FACTORY="0x62d5b84bE28a183aBB507E125B384122D2C25fAE" +export ROUTER="0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121" +export CWUSDT="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export CWUSDC="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="3000000000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export SOURCE_RPC_URL="${CHAIN138_RPC}" +export DEST_RPC_URL="${AVALANCHE_RPC_URL}" +export DEST_CW_BRIDGE="${CW_BRIDGE_AVALANCHE}" +export DEST_CWUSDT="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export DEST_CWUSDC="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export SOURCE_CUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +export SOURCE_CUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b" +export BRIDGE_CUSDT_HUMAN="0" +export BRIDGE_CUSDC_HUMAN="2.4" +export BRIDGE_CUSDT_RAW="0" +export BRIDGE_CUSDC_RAW="2400000" +export DEST_SELECTOR="${AVALANCHE_SELECTOR}" + +cast call "$DEST_CW_BRIDGE" 'feeToken()(address)' --rpc-url "$DEST_RPC_URL" +cast call "$DEST_CW_BRIDGE" 'calculateFee(uint64,uint256)(uint256)' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL" + +echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above." + +source smom-dbis-138/scripts/load-env.sh >/dev/null +cast send "0x0C242b513008Cd49C89078F5aFb237A3112251EB" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "800000" \ + --rpc-url "${AVALANCHE_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000 + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10" +export ROUTER="0x60aE616a2155Ee3d9A68541Ba4544862310933d4" +export CWUSDT="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export CWUSDC="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export AMOUNT_RAW="2400000" +export DEADLINE="$(( $(date +%s) + 3600 ))" + +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered +bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh +node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_OPERATOR_PASTE_PACK.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_OPERATOR_PASTE_PACK.md new file mode 100644 index 00000000..3a89bc06 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_OPERATOR_PASTE_PACK.md @@ -0,0 +1,11987 @@ +# Mr. Promod Uniswap V2 Phase 2 Operator Paste Pack + +- Generated: `2026-04-17T20:11:49Z` +- Purpose: flat paste-ready operator pack for every phase-2 wrapped-mesh pair. + +| Order | Chain | Network | Pair | Amount Envs | +|---|---|---|---|---| +| `1` | `1` | Ethereum Mainnet | `cWAUDC/cWUSDC` | `PHASE2_1_CWAUDC_CWUSDC_A_RAW`, `PHASE2_1_CWAUDC_CWUSDC_B_RAW` | +| `2` | `1` | Ethereum Mainnet | `cWAUDC/cWUSDT` | `PHASE2_1_CWAUDC_CWUSDT_A_RAW`, `PHASE2_1_CWAUDC_CWUSDT_B_RAW` | +| `3` | `1` | Ethereum Mainnet | `cWBTC/cWUSDC` | `PHASE2_1_CWBTC_CWUSDC_A_RAW`, `PHASE2_1_CWBTC_CWUSDC_B_RAW` | +| `4` | `1` | Ethereum Mainnet | `cWBTC/cWUSDT` | `PHASE2_1_CWBTC_CWUSDT_A_RAW`, `PHASE2_1_CWBTC_CWUSDT_B_RAW` | +| `5` | `1` | Ethereum Mainnet | `cWCADC/cWUSDC` | `PHASE2_1_CWCADC_CWUSDC_A_RAW`, `PHASE2_1_CWCADC_CWUSDC_B_RAW` | +| `6` | `1` | Ethereum Mainnet | `cWCADC/cWUSDT` | `PHASE2_1_CWCADC_CWUSDT_A_RAW`, `PHASE2_1_CWCADC_CWUSDT_B_RAW` | +| `7` | `1` | Ethereum Mainnet | `cWCHFC/cWUSDC` | `PHASE2_1_CWCHFC_CWUSDC_A_RAW`, `PHASE2_1_CWCHFC_CWUSDC_B_RAW` | +| `8` | `1` | Ethereum Mainnet | `cWCHFC/cWUSDT` | `PHASE2_1_CWCHFC_CWUSDT_A_RAW`, `PHASE2_1_CWCHFC_CWUSDT_B_RAW` | +| `9` | `1` | Ethereum Mainnet | `cWEURC/cWUSDC` | `PHASE2_1_CWEURC_CWUSDC_A_RAW`, `PHASE2_1_CWEURC_CWUSDC_B_RAW` | +| `10` | `1` | Ethereum Mainnet | `cWEURC/cWUSDT` | `PHASE2_1_CWEURC_CWUSDT_A_RAW`, `PHASE2_1_CWEURC_CWUSDT_B_RAW` | +| `11` | `1` | Ethereum Mainnet | `cWEURT/cWUSDC` | `PHASE2_1_CWEURT_CWUSDC_A_RAW`, `PHASE2_1_CWEURT_CWUSDC_B_RAW` | +| `12` | `1` | Ethereum Mainnet | `cWEURT/cWUSDT` | `PHASE2_1_CWEURT_CWUSDT_A_RAW`, `PHASE2_1_CWEURT_CWUSDT_B_RAW` | +| `13` | `1` | Ethereum Mainnet | `cWGBPC/cWUSDC` | `PHASE2_1_CWGBPC_CWUSDC_A_RAW`, `PHASE2_1_CWGBPC_CWUSDC_B_RAW` | +| `14` | `1` | Ethereum Mainnet | `cWGBPC/cWUSDT` | `PHASE2_1_CWGBPC_CWUSDT_A_RAW`, `PHASE2_1_CWGBPC_CWUSDT_B_RAW` | +| `15` | `1` | Ethereum Mainnet | `cWGBPT/cWUSDC` | `PHASE2_1_CWGBPT_CWUSDC_A_RAW`, `PHASE2_1_CWGBPT_CWUSDC_B_RAW` | +| `16` | `1` | Ethereum Mainnet | `cWGBPT/cWUSDT` | `PHASE2_1_CWGBPT_CWUSDT_A_RAW`, `PHASE2_1_CWGBPT_CWUSDT_B_RAW` | +| `17` | `1` | Ethereum Mainnet | `cWJPYC/cWUSDC` | `PHASE2_1_CWJPYC_CWUSDC_A_RAW`, `PHASE2_1_CWJPYC_CWUSDC_B_RAW` | +| `18` | `1` | Ethereum Mainnet | `cWJPYC/cWUSDT` | `PHASE2_1_CWJPYC_CWUSDT_A_RAW`, `PHASE2_1_CWJPYC_CWUSDT_B_RAW` | +| `19` | `1` | Ethereum Mainnet | `cWXAUC/cWUSDC` | `PHASE2_1_CWXAUC_CWUSDC_A_RAW`, `PHASE2_1_CWXAUC_CWUSDC_B_RAW` | +| `20` | `1` | Ethereum Mainnet | `cWXAUC/cWUSDT` | `PHASE2_1_CWXAUC_CWUSDT_A_RAW`, `PHASE2_1_CWXAUC_CWUSDT_B_RAW` | +| `21` | `1` | Ethereum Mainnet | `cWXAUT/cWUSDC` | `PHASE2_1_CWXAUT_CWUSDC_A_RAW`, `PHASE2_1_CWXAUT_CWUSDC_B_RAW` | +| `22` | `1` | Ethereum Mainnet | `cWXAUT/cWUSDT` | `PHASE2_1_CWXAUT_CWUSDT_A_RAW`, `PHASE2_1_CWXAUT_CWUSDT_B_RAW` | +| `23` | `10` | Optimism | `cWAUDC/cWUSDC` | `PHASE2_10_CWAUDC_CWUSDC_A_RAW`, `PHASE2_10_CWAUDC_CWUSDC_B_RAW` | +| `24` | `10` | Optimism | `cWAUDC/cWUSDT` | `PHASE2_10_CWAUDC_CWUSDT_A_RAW`, `PHASE2_10_CWAUDC_CWUSDT_B_RAW` | +| `25` | `10` | Optimism | `cWBTC/cWUSDC` | `PHASE2_10_CWBTC_CWUSDC_A_RAW`, `PHASE2_10_CWBTC_CWUSDC_B_RAW` | +| `26` | `10` | Optimism | `cWBTC/cWUSDT` | `PHASE2_10_CWBTC_CWUSDT_A_RAW`, `PHASE2_10_CWBTC_CWUSDT_B_RAW` | +| `27` | `10` | Optimism | `cWCADC/cWUSDC` | `PHASE2_10_CWCADC_CWUSDC_A_RAW`, `PHASE2_10_CWCADC_CWUSDC_B_RAW` | +| `28` | `10` | Optimism | `cWCADC/cWUSDT` | `PHASE2_10_CWCADC_CWUSDT_A_RAW`, `PHASE2_10_CWCADC_CWUSDT_B_RAW` | +| `29` | `10` | Optimism | `cWCHFC/cWUSDC` | `PHASE2_10_CWCHFC_CWUSDC_A_RAW`, `PHASE2_10_CWCHFC_CWUSDC_B_RAW` | +| `30` | `10` | Optimism | `cWCHFC/cWUSDT` | `PHASE2_10_CWCHFC_CWUSDT_A_RAW`, `PHASE2_10_CWCHFC_CWUSDT_B_RAW` | +| `31` | `10` | Optimism | `cWEURC/cWUSDC` | `PHASE2_10_CWEURC_CWUSDC_A_RAW`, `PHASE2_10_CWEURC_CWUSDC_B_RAW` | +| `32` | `10` | Optimism | `cWEURC/cWUSDT` | `PHASE2_10_CWEURC_CWUSDT_A_RAW`, `PHASE2_10_CWEURC_CWUSDT_B_RAW` | +| `33` | `10` | Optimism | `cWEURT/cWUSDC` | `PHASE2_10_CWEURT_CWUSDC_A_RAW`, `PHASE2_10_CWEURT_CWUSDC_B_RAW` | +| `34` | `10` | Optimism | `cWEURT/cWUSDT` | `PHASE2_10_CWEURT_CWUSDT_A_RAW`, `PHASE2_10_CWEURT_CWUSDT_B_RAW` | +| `35` | `10` | Optimism | `cWGBPC/cWUSDC` | `PHASE2_10_CWGBPC_CWUSDC_A_RAW`, `PHASE2_10_CWGBPC_CWUSDC_B_RAW` | +| `36` | `10` | Optimism | `cWGBPC/cWUSDT` | `PHASE2_10_CWGBPC_CWUSDT_A_RAW`, `PHASE2_10_CWGBPC_CWUSDT_B_RAW` | +| `37` | `10` | Optimism | `cWGBPT/cWUSDC` | `PHASE2_10_CWGBPT_CWUSDC_A_RAW`, `PHASE2_10_CWGBPT_CWUSDC_B_RAW` | +| `38` | `10` | Optimism | `cWGBPT/cWUSDT` | `PHASE2_10_CWGBPT_CWUSDT_A_RAW`, `PHASE2_10_CWGBPT_CWUSDT_B_RAW` | +| `39` | `10` | Optimism | `cWJPYC/cWUSDC` | `PHASE2_10_CWJPYC_CWUSDC_A_RAW`, `PHASE2_10_CWJPYC_CWUSDC_B_RAW` | +| `40` | `10` | Optimism | `cWJPYC/cWUSDT` | `PHASE2_10_CWJPYC_CWUSDT_A_RAW`, `PHASE2_10_CWJPYC_CWUSDT_B_RAW` | +| `41` | `10` | Optimism | `cWXAUC/cWUSDC` | `PHASE2_10_CWXAUC_CWUSDC_A_RAW`, `PHASE2_10_CWXAUC_CWUSDC_B_RAW` | +| `42` | `10` | Optimism | `cWXAUC/cWUSDT` | `PHASE2_10_CWXAUC_CWUSDT_A_RAW`, `PHASE2_10_CWXAUC_CWUSDT_B_RAW` | +| `43` | `10` | Optimism | `cWXAUT/cWUSDC` | `PHASE2_10_CWXAUT_CWUSDC_A_RAW`, `PHASE2_10_CWXAUT_CWUSDC_B_RAW` | +| `44` | `10` | Optimism | `cWXAUT/cWUSDT` | `PHASE2_10_CWXAUT_CWUSDT_A_RAW`, `PHASE2_10_CWXAUT_CWUSDT_B_RAW` | +| `45` | `25` | Cronos | `cWAUDC/cWUSDC` | `PHASE2_25_CWAUDC_CWUSDC_A_RAW`, `PHASE2_25_CWAUDC_CWUSDC_B_RAW` | +| `46` | `25` | Cronos | `cWAUDC/cWUSDT` | `PHASE2_25_CWAUDC_CWUSDT_A_RAW`, `PHASE2_25_CWAUDC_CWUSDT_B_RAW` | +| `47` | `25` | Cronos | `cWBTC/cWUSDC` | `PHASE2_25_CWBTC_CWUSDC_A_RAW`, `PHASE2_25_CWBTC_CWUSDC_B_RAW` | +| `48` | `25` | Cronos | `cWBTC/cWUSDT` | `PHASE2_25_CWBTC_CWUSDT_A_RAW`, `PHASE2_25_CWBTC_CWUSDT_B_RAW` | +| `49` | `25` | Cronos | `cWCADC/cWUSDC` | `PHASE2_25_CWCADC_CWUSDC_A_RAW`, `PHASE2_25_CWCADC_CWUSDC_B_RAW` | +| `50` | `25` | Cronos | `cWCADC/cWUSDT` | `PHASE2_25_CWCADC_CWUSDT_A_RAW`, `PHASE2_25_CWCADC_CWUSDT_B_RAW` | +| `51` | `25` | Cronos | `cWCHFC/cWUSDC` | `PHASE2_25_CWCHFC_CWUSDC_A_RAW`, `PHASE2_25_CWCHFC_CWUSDC_B_RAW` | +| `52` | `25` | Cronos | `cWCHFC/cWUSDT` | `PHASE2_25_CWCHFC_CWUSDT_A_RAW`, `PHASE2_25_CWCHFC_CWUSDT_B_RAW` | +| `53` | `25` | Cronos | `cWEURC/cWUSDC` | `PHASE2_25_CWEURC_CWUSDC_A_RAW`, `PHASE2_25_CWEURC_CWUSDC_B_RAW` | +| `54` | `25` | Cronos | `cWEURC/cWUSDT` | `PHASE2_25_CWEURC_CWUSDT_A_RAW`, `PHASE2_25_CWEURC_CWUSDT_B_RAW` | +| `55` | `25` | Cronos | `cWEURT/cWUSDC` | `PHASE2_25_CWEURT_CWUSDC_A_RAW`, `PHASE2_25_CWEURT_CWUSDC_B_RAW` | +| `56` | `25` | Cronos | `cWEURT/cWUSDT` | `PHASE2_25_CWEURT_CWUSDT_A_RAW`, `PHASE2_25_CWEURT_CWUSDT_B_RAW` | +| `57` | `25` | Cronos | `cWGBPC/cWUSDC` | `PHASE2_25_CWGBPC_CWUSDC_A_RAW`, `PHASE2_25_CWGBPC_CWUSDC_B_RAW` | +| `58` | `25` | Cronos | `cWGBPC/cWUSDT` | `PHASE2_25_CWGBPC_CWUSDT_A_RAW`, `PHASE2_25_CWGBPC_CWUSDT_B_RAW` | +| `59` | `25` | Cronos | `cWGBPT/cWUSDC` | `PHASE2_25_CWGBPT_CWUSDC_A_RAW`, `PHASE2_25_CWGBPT_CWUSDC_B_RAW` | +| `60` | `25` | Cronos | `cWGBPT/cWUSDT` | `PHASE2_25_CWGBPT_CWUSDT_A_RAW`, `PHASE2_25_CWGBPT_CWUSDT_B_RAW` | +| `61` | `25` | Cronos | `cWJPYC/cWUSDC` | `PHASE2_25_CWJPYC_CWUSDC_A_RAW`, `PHASE2_25_CWJPYC_CWUSDC_B_RAW` | +| `62` | `25` | Cronos | `cWJPYC/cWUSDT` | `PHASE2_25_CWJPYC_CWUSDT_A_RAW`, `PHASE2_25_CWJPYC_CWUSDT_B_RAW` | +| `63` | `25` | Cronos | `cWXAUC/cWUSDC` | `PHASE2_25_CWXAUC_CWUSDC_A_RAW`, `PHASE2_25_CWXAUC_CWUSDC_B_RAW` | +| `64` | `25` | Cronos | `cWXAUC/cWUSDT` | `PHASE2_25_CWXAUC_CWUSDT_A_RAW`, `PHASE2_25_CWXAUC_CWUSDT_B_RAW` | +| `65` | `25` | Cronos | `cWXAUT/cWUSDC` | `PHASE2_25_CWXAUT_CWUSDC_A_RAW`, `PHASE2_25_CWXAUT_CWUSDC_B_RAW` | +| `66` | `25` | Cronos | `cWXAUT/cWUSDT` | `PHASE2_25_CWXAUT_CWUSDT_A_RAW`, `PHASE2_25_CWXAUT_CWUSDT_B_RAW` | +| `67` | `56` | BSC | `cWAUDC/cWUSDC` | `PHASE2_56_CWAUDC_CWUSDC_A_RAW`, `PHASE2_56_CWAUDC_CWUSDC_B_RAW` | +| `68` | `56` | BSC | `cWAUDC/cWUSDT` | `PHASE2_56_CWAUDC_CWUSDT_A_RAW`, `PHASE2_56_CWAUDC_CWUSDT_B_RAW` | +| `69` | `56` | BSC | `cWBTC/cWUSDC` | `PHASE2_56_CWBTC_CWUSDC_A_RAW`, `PHASE2_56_CWBTC_CWUSDC_B_RAW` | +| `70` | `56` | BSC | `cWBTC/cWUSDT` | `PHASE2_56_CWBTC_CWUSDT_A_RAW`, `PHASE2_56_CWBTC_CWUSDT_B_RAW` | +| `71` | `56` | BSC | `cWCADC/cWUSDC` | `PHASE2_56_CWCADC_CWUSDC_A_RAW`, `PHASE2_56_CWCADC_CWUSDC_B_RAW` | +| `72` | `56` | BSC | `cWCADC/cWUSDT` | `PHASE2_56_CWCADC_CWUSDT_A_RAW`, `PHASE2_56_CWCADC_CWUSDT_B_RAW` | +| `73` | `56` | BSC | `cWCHFC/cWUSDC` | `PHASE2_56_CWCHFC_CWUSDC_A_RAW`, `PHASE2_56_CWCHFC_CWUSDC_B_RAW` | +| `74` | `56` | BSC | `cWCHFC/cWUSDT` | `PHASE2_56_CWCHFC_CWUSDT_A_RAW`, `PHASE2_56_CWCHFC_CWUSDT_B_RAW` | +| `75` | `56` | BSC | `cWEURC/cWUSDC` | `PHASE2_56_CWEURC_CWUSDC_A_RAW`, `PHASE2_56_CWEURC_CWUSDC_B_RAW` | +| `76` | `56` | BSC | `cWEURC/cWUSDT` | `PHASE2_56_CWEURC_CWUSDT_A_RAW`, `PHASE2_56_CWEURC_CWUSDT_B_RAW` | +| `77` | `56` | BSC | `cWEURT/cWUSDC` | `PHASE2_56_CWEURT_CWUSDC_A_RAW`, `PHASE2_56_CWEURT_CWUSDC_B_RAW` | +| `78` | `56` | BSC | `cWEURT/cWUSDT` | `PHASE2_56_CWEURT_CWUSDT_A_RAW`, `PHASE2_56_CWEURT_CWUSDT_B_RAW` | +| `79` | `56` | BSC | `cWGBPC/cWUSDC` | `PHASE2_56_CWGBPC_CWUSDC_A_RAW`, `PHASE2_56_CWGBPC_CWUSDC_B_RAW` | +| `80` | `56` | BSC | `cWGBPC/cWUSDT` | `PHASE2_56_CWGBPC_CWUSDT_A_RAW`, `PHASE2_56_CWGBPC_CWUSDT_B_RAW` | +| `81` | `56` | BSC | `cWGBPT/cWUSDC` | `PHASE2_56_CWGBPT_CWUSDC_A_RAW`, `PHASE2_56_CWGBPT_CWUSDC_B_RAW` | +| `82` | `56` | BSC | `cWGBPT/cWUSDT` | `PHASE2_56_CWGBPT_CWUSDT_A_RAW`, `PHASE2_56_CWGBPT_CWUSDT_B_RAW` | +| `83` | `56` | BSC | `cWJPYC/cWUSDC` | `PHASE2_56_CWJPYC_CWUSDC_A_RAW`, `PHASE2_56_CWJPYC_CWUSDC_B_RAW` | +| `84` | `56` | BSC | `cWJPYC/cWUSDT` | `PHASE2_56_CWJPYC_CWUSDT_A_RAW`, `PHASE2_56_CWJPYC_CWUSDT_B_RAW` | +| `85` | `56` | BSC | `cWUSDW/cWUSDC` | `PHASE2_56_CWUSDW_CWUSDC_A_RAW`, `PHASE2_56_CWUSDW_CWUSDC_B_RAW` | +| `86` | `56` | BSC | `cWUSDW/cWUSDT` | `PHASE2_56_CWUSDW_CWUSDT_A_RAW`, `PHASE2_56_CWUSDW_CWUSDT_B_RAW` | +| `87` | `56` | BSC | `cWXAUC/cWUSDC` | `PHASE2_56_CWXAUC_CWUSDC_A_RAW`, `PHASE2_56_CWXAUC_CWUSDC_B_RAW` | +| `88` | `56` | BSC | `cWXAUC/cWUSDT` | `PHASE2_56_CWXAUC_CWUSDT_A_RAW`, `PHASE2_56_CWXAUC_CWUSDT_B_RAW` | +| `89` | `56` | BSC | `cWXAUT/cWUSDC` | `PHASE2_56_CWXAUT_CWUSDC_A_RAW`, `PHASE2_56_CWXAUT_CWUSDC_B_RAW` | +| `90` | `56` | BSC | `cWXAUT/cWUSDT` | `PHASE2_56_CWXAUT_CWUSDT_A_RAW`, `PHASE2_56_CWXAUT_CWUSDT_B_RAW` | +| `91` | `100` | Gnosis | `cWAUDC/cWUSDC` | `PHASE2_100_CWAUDC_CWUSDC_A_RAW`, `PHASE2_100_CWAUDC_CWUSDC_B_RAW` | +| `92` | `100` | Gnosis | `cWAUDC/cWUSDT` | `PHASE2_100_CWAUDC_CWUSDT_A_RAW`, `PHASE2_100_CWAUDC_CWUSDT_B_RAW` | +| `93` | `100` | Gnosis | `cWBTC/cWUSDC` | `PHASE2_100_CWBTC_CWUSDC_A_RAW`, `PHASE2_100_CWBTC_CWUSDC_B_RAW` | +| `94` | `100` | Gnosis | `cWBTC/cWUSDT` | `PHASE2_100_CWBTC_CWUSDT_A_RAW`, `PHASE2_100_CWBTC_CWUSDT_B_RAW` | +| `95` | `100` | Gnosis | `cWCADC/cWUSDC` | `PHASE2_100_CWCADC_CWUSDC_A_RAW`, `PHASE2_100_CWCADC_CWUSDC_B_RAW` | +| `96` | `100` | Gnosis | `cWCADC/cWUSDT` | `PHASE2_100_CWCADC_CWUSDT_A_RAW`, `PHASE2_100_CWCADC_CWUSDT_B_RAW` | +| `97` | `100` | Gnosis | `cWCHFC/cWUSDC` | `PHASE2_100_CWCHFC_CWUSDC_A_RAW`, `PHASE2_100_CWCHFC_CWUSDC_B_RAW` | +| `98` | `100` | Gnosis | `cWCHFC/cWUSDT` | `PHASE2_100_CWCHFC_CWUSDT_A_RAW`, `PHASE2_100_CWCHFC_CWUSDT_B_RAW` | +| `99` | `100` | Gnosis | `cWEURC/cWUSDC` | `PHASE2_100_CWEURC_CWUSDC_A_RAW`, `PHASE2_100_CWEURC_CWUSDC_B_RAW` | +| `100` | `100` | Gnosis | `cWEURC/cWUSDT` | `PHASE2_100_CWEURC_CWUSDT_A_RAW`, `PHASE2_100_CWEURC_CWUSDT_B_RAW` | +| `101` | `100` | Gnosis | `cWEURT/cWUSDC` | `PHASE2_100_CWEURT_CWUSDC_A_RAW`, `PHASE2_100_CWEURT_CWUSDC_B_RAW` | +| `102` | `100` | Gnosis | `cWEURT/cWUSDT` | `PHASE2_100_CWEURT_CWUSDT_A_RAW`, `PHASE2_100_CWEURT_CWUSDT_B_RAW` | +| `103` | `100` | Gnosis | `cWGBPC/cWUSDC` | `PHASE2_100_CWGBPC_CWUSDC_A_RAW`, `PHASE2_100_CWGBPC_CWUSDC_B_RAW` | +| `104` | `100` | Gnosis | `cWGBPC/cWUSDT` | `PHASE2_100_CWGBPC_CWUSDT_A_RAW`, `PHASE2_100_CWGBPC_CWUSDT_B_RAW` | +| `105` | `100` | Gnosis | `cWGBPT/cWUSDC` | `PHASE2_100_CWGBPT_CWUSDC_A_RAW`, `PHASE2_100_CWGBPT_CWUSDC_B_RAW` | +| `106` | `100` | Gnosis | `cWGBPT/cWUSDT` | `PHASE2_100_CWGBPT_CWUSDT_A_RAW`, `PHASE2_100_CWGBPT_CWUSDT_B_RAW` | +| `107` | `100` | Gnosis | `cWJPYC/cWUSDC` | `PHASE2_100_CWJPYC_CWUSDC_A_RAW`, `PHASE2_100_CWJPYC_CWUSDC_B_RAW` | +| `108` | `100` | Gnosis | `cWJPYC/cWUSDT` | `PHASE2_100_CWJPYC_CWUSDT_A_RAW`, `PHASE2_100_CWJPYC_CWUSDT_B_RAW` | +| `109` | `100` | Gnosis | `cWXAUC/cWUSDC` | `PHASE2_100_CWXAUC_CWUSDC_A_RAW`, `PHASE2_100_CWXAUC_CWUSDC_B_RAW` | +| `110` | `100` | Gnosis | `cWXAUC/cWUSDT` | `PHASE2_100_CWXAUC_CWUSDT_A_RAW`, `PHASE2_100_CWXAUC_CWUSDT_B_RAW` | +| `111` | `100` | Gnosis | `cWXAUT/cWUSDC` | `PHASE2_100_CWXAUT_CWUSDC_A_RAW`, `PHASE2_100_CWXAUT_CWUSDC_B_RAW` | +| `112` | `100` | Gnosis | `cWXAUT/cWUSDT` | `PHASE2_100_CWXAUT_CWUSDT_A_RAW`, `PHASE2_100_CWXAUT_CWUSDT_B_RAW` | +| `113` | `137` | Polygon | `cWAUDC/cWUSDC` | `PHASE2_137_CWAUDC_CWUSDC_A_RAW`, `PHASE2_137_CWAUDC_CWUSDC_B_RAW` | +| `114` | `137` | Polygon | `cWAUDC/cWUSDT` | `PHASE2_137_CWAUDC_CWUSDT_A_RAW`, `PHASE2_137_CWAUDC_CWUSDT_B_RAW` | +| `115` | `137` | Polygon | `cWBTC/cWUSDC` | `PHASE2_137_CWBTC_CWUSDC_A_RAW`, `PHASE2_137_CWBTC_CWUSDC_B_RAW` | +| `116` | `137` | Polygon | `cWBTC/cWUSDT` | `PHASE2_137_CWBTC_CWUSDT_A_RAW`, `PHASE2_137_CWBTC_CWUSDT_B_RAW` | +| `117` | `137` | Polygon | `cWCADC/cWUSDC` | `PHASE2_137_CWCADC_CWUSDC_A_RAW`, `PHASE2_137_CWCADC_CWUSDC_B_RAW` | +| `118` | `137` | Polygon | `cWCADC/cWUSDT` | `PHASE2_137_CWCADC_CWUSDT_A_RAW`, `PHASE2_137_CWCADC_CWUSDT_B_RAW` | +| `119` | `137` | Polygon | `cWCHFC/cWUSDC` | `PHASE2_137_CWCHFC_CWUSDC_A_RAW`, `PHASE2_137_CWCHFC_CWUSDC_B_RAW` | +| `120` | `137` | Polygon | `cWCHFC/cWUSDT` | `PHASE2_137_CWCHFC_CWUSDT_A_RAW`, `PHASE2_137_CWCHFC_CWUSDT_B_RAW` | +| `121` | `137` | Polygon | `cWEURC/cWUSDC` | `PHASE2_137_CWEURC_CWUSDC_A_RAW`, `PHASE2_137_CWEURC_CWUSDC_B_RAW` | +| `122` | `137` | Polygon | `cWEURC/cWUSDT` | `PHASE2_137_CWEURC_CWUSDT_A_RAW`, `PHASE2_137_CWEURC_CWUSDT_B_RAW` | +| `123` | `137` | Polygon | `cWEURT/cWUSDC` | `PHASE2_137_CWEURT_CWUSDC_A_RAW`, `PHASE2_137_CWEURT_CWUSDC_B_RAW` | +| `124` | `137` | Polygon | `cWEURT/cWUSDT` | `PHASE2_137_CWEURT_CWUSDT_A_RAW`, `PHASE2_137_CWEURT_CWUSDT_B_RAW` | +| `125` | `137` | Polygon | `cWGBPC/cWUSDC` | `PHASE2_137_CWGBPC_CWUSDC_A_RAW`, `PHASE2_137_CWGBPC_CWUSDC_B_RAW` | +| `126` | `137` | Polygon | `cWGBPC/cWUSDT` | `PHASE2_137_CWGBPC_CWUSDT_A_RAW`, `PHASE2_137_CWGBPC_CWUSDT_B_RAW` | +| `127` | `137` | Polygon | `cWGBPT/cWUSDC` | `PHASE2_137_CWGBPT_CWUSDC_A_RAW`, `PHASE2_137_CWGBPT_CWUSDC_B_RAW` | +| `128` | `137` | Polygon | `cWGBPT/cWUSDT` | `PHASE2_137_CWGBPT_CWUSDT_A_RAW`, `PHASE2_137_CWGBPT_CWUSDT_B_RAW` | +| `129` | `137` | Polygon | `cWJPYC/cWUSDC` | `PHASE2_137_CWJPYC_CWUSDC_A_RAW`, `PHASE2_137_CWJPYC_CWUSDC_B_RAW` | +| `130` | `137` | Polygon | `cWJPYC/cWUSDT` | `PHASE2_137_CWJPYC_CWUSDT_A_RAW`, `PHASE2_137_CWJPYC_CWUSDT_B_RAW` | +| `131` | `137` | Polygon | `cWXAUC/cWUSDC` | `PHASE2_137_CWXAUC_CWUSDC_A_RAW`, `PHASE2_137_CWXAUC_CWUSDC_B_RAW` | +| `132` | `137` | Polygon | `cWXAUC/cWUSDT` | `PHASE2_137_CWXAUC_CWUSDT_A_RAW`, `PHASE2_137_CWXAUC_CWUSDT_B_RAW` | +| `133` | `137` | Polygon | `cWXAUT/cWUSDC` | `PHASE2_137_CWXAUT_CWUSDC_A_RAW`, `PHASE2_137_CWXAUT_CWUSDC_B_RAW` | +| `134` | `137` | Polygon | `cWXAUT/cWUSDT` | `PHASE2_137_CWXAUT_CWUSDT_A_RAW`, `PHASE2_137_CWXAUT_CWUSDT_B_RAW` | +| `135` | `8453` | Base | `cWAUDC/cWUSDC` | `PHASE2_8453_CWAUDC_CWUSDC_A_RAW`, `PHASE2_8453_CWAUDC_CWUSDC_B_RAW` | +| `136` | `8453` | Base | `cWAUDC/cWUSDT` | `PHASE2_8453_CWAUDC_CWUSDT_A_RAW`, `PHASE2_8453_CWAUDC_CWUSDT_B_RAW` | +| `137` | `8453` | Base | `cWBTC/cWUSDC` | `PHASE2_8453_CWBTC_CWUSDC_A_RAW`, `PHASE2_8453_CWBTC_CWUSDC_B_RAW` | +| `138` | `8453` | Base | `cWBTC/cWUSDT` | `PHASE2_8453_CWBTC_CWUSDT_A_RAW`, `PHASE2_8453_CWBTC_CWUSDT_B_RAW` | +| `139` | `8453` | Base | `cWCADC/cWUSDC` | `PHASE2_8453_CWCADC_CWUSDC_A_RAW`, `PHASE2_8453_CWCADC_CWUSDC_B_RAW` | +| `140` | `8453` | Base | `cWCADC/cWUSDT` | `PHASE2_8453_CWCADC_CWUSDT_A_RAW`, `PHASE2_8453_CWCADC_CWUSDT_B_RAW` | +| `141` | `8453` | Base | `cWCHFC/cWUSDC` | `PHASE2_8453_CWCHFC_CWUSDC_A_RAW`, `PHASE2_8453_CWCHFC_CWUSDC_B_RAW` | +| `142` | `8453` | Base | `cWCHFC/cWUSDT` | `PHASE2_8453_CWCHFC_CWUSDT_A_RAW`, `PHASE2_8453_CWCHFC_CWUSDT_B_RAW` | +| `143` | `8453` | Base | `cWEURC/cWUSDC` | `PHASE2_8453_CWEURC_CWUSDC_A_RAW`, `PHASE2_8453_CWEURC_CWUSDC_B_RAW` | +| `144` | `8453` | Base | `cWEURC/cWUSDT` | `PHASE2_8453_CWEURC_CWUSDT_A_RAW`, `PHASE2_8453_CWEURC_CWUSDT_B_RAW` | +| `145` | `8453` | Base | `cWEURT/cWUSDC` | `PHASE2_8453_CWEURT_CWUSDC_A_RAW`, `PHASE2_8453_CWEURT_CWUSDC_B_RAW` | +| `146` | `8453` | Base | `cWEURT/cWUSDT` | `PHASE2_8453_CWEURT_CWUSDT_A_RAW`, `PHASE2_8453_CWEURT_CWUSDT_B_RAW` | +| `147` | `8453` | Base | `cWGBPC/cWUSDC` | `PHASE2_8453_CWGBPC_CWUSDC_A_RAW`, `PHASE2_8453_CWGBPC_CWUSDC_B_RAW` | +| `148` | `8453` | Base | `cWGBPC/cWUSDT` | `PHASE2_8453_CWGBPC_CWUSDT_A_RAW`, `PHASE2_8453_CWGBPC_CWUSDT_B_RAW` | +| `149` | `8453` | Base | `cWGBPT/cWUSDC` | `PHASE2_8453_CWGBPT_CWUSDC_A_RAW`, `PHASE2_8453_CWGBPT_CWUSDC_B_RAW` | +| `150` | `8453` | Base | `cWGBPT/cWUSDT` | `PHASE2_8453_CWGBPT_CWUSDT_A_RAW`, `PHASE2_8453_CWGBPT_CWUSDT_B_RAW` | +| `151` | `8453` | Base | `cWJPYC/cWUSDC` | `PHASE2_8453_CWJPYC_CWUSDC_A_RAW`, `PHASE2_8453_CWJPYC_CWUSDC_B_RAW` | +| `152` | `8453` | Base | `cWJPYC/cWUSDT` | `PHASE2_8453_CWJPYC_CWUSDT_A_RAW`, `PHASE2_8453_CWJPYC_CWUSDT_B_RAW` | +| `153` | `8453` | Base | `cWXAUC/cWUSDC` | `PHASE2_8453_CWXAUC_CWUSDC_A_RAW`, `PHASE2_8453_CWXAUC_CWUSDC_B_RAW` | +| `154` | `8453` | Base | `cWXAUC/cWUSDT` | `PHASE2_8453_CWXAUC_CWUSDT_A_RAW`, `PHASE2_8453_CWXAUC_CWUSDT_B_RAW` | +| `155` | `8453` | Base | `cWXAUT/cWUSDC` | `PHASE2_8453_CWXAUT_CWUSDC_A_RAW`, `PHASE2_8453_CWXAUT_CWUSDC_B_RAW` | +| `156` | `8453` | Base | `cWXAUT/cWUSDT` | `PHASE2_8453_CWXAUT_CWUSDT_A_RAW`, `PHASE2_8453_CWXAUT_CWUSDT_B_RAW` | +| `157` | `42161` | Arbitrum One | `cWAUDC/cWUSDC` | `PHASE2_42161_CWAUDC_CWUSDC_A_RAW`, `PHASE2_42161_CWAUDC_CWUSDC_B_RAW` | +| `158` | `42161` | Arbitrum One | `cWAUDC/cWUSDT` | `PHASE2_42161_CWAUDC_CWUSDT_A_RAW`, `PHASE2_42161_CWAUDC_CWUSDT_B_RAW` | +| `159` | `42161` | Arbitrum One | `cWBTC/cWUSDC` | `PHASE2_42161_CWBTC_CWUSDC_A_RAW`, `PHASE2_42161_CWBTC_CWUSDC_B_RAW` | +| `160` | `42161` | Arbitrum One | `cWBTC/cWUSDT` | `PHASE2_42161_CWBTC_CWUSDT_A_RAW`, `PHASE2_42161_CWBTC_CWUSDT_B_RAW` | +| `161` | `42161` | Arbitrum One | `cWCADC/cWUSDC` | `PHASE2_42161_CWCADC_CWUSDC_A_RAW`, `PHASE2_42161_CWCADC_CWUSDC_B_RAW` | +| `162` | `42161` | Arbitrum One | `cWCADC/cWUSDT` | `PHASE2_42161_CWCADC_CWUSDT_A_RAW`, `PHASE2_42161_CWCADC_CWUSDT_B_RAW` | +| `163` | `42161` | Arbitrum One | `cWCHFC/cWUSDC` | `PHASE2_42161_CWCHFC_CWUSDC_A_RAW`, `PHASE2_42161_CWCHFC_CWUSDC_B_RAW` | +| `164` | `42161` | Arbitrum One | `cWCHFC/cWUSDT` | `PHASE2_42161_CWCHFC_CWUSDT_A_RAW`, `PHASE2_42161_CWCHFC_CWUSDT_B_RAW` | +| `165` | `42161` | Arbitrum One | `cWEURC/cWUSDC` | `PHASE2_42161_CWEURC_CWUSDC_A_RAW`, `PHASE2_42161_CWEURC_CWUSDC_B_RAW` | +| `166` | `42161` | Arbitrum One | `cWEURC/cWUSDT` | `PHASE2_42161_CWEURC_CWUSDT_A_RAW`, `PHASE2_42161_CWEURC_CWUSDT_B_RAW` | +| `167` | `42161` | Arbitrum One | `cWEURT/cWUSDC` | `PHASE2_42161_CWEURT_CWUSDC_A_RAW`, `PHASE2_42161_CWEURT_CWUSDC_B_RAW` | +| `168` | `42161` | Arbitrum One | `cWEURT/cWUSDT` | `PHASE2_42161_CWEURT_CWUSDT_A_RAW`, `PHASE2_42161_CWEURT_CWUSDT_B_RAW` | +| `169` | `42161` | Arbitrum One | `cWGBPC/cWUSDC` | `PHASE2_42161_CWGBPC_CWUSDC_A_RAW`, `PHASE2_42161_CWGBPC_CWUSDC_B_RAW` | +| `170` | `42161` | Arbitrum One | `cWGBPC/cWUSDT` | `PHASE2_42161_CWGBPC_CWUSDT_A_RAW`, `PHASE2_42161_CWGBPC_CWUSDT_B_RAW` | +| `171` | `42161` | Arbitrum One | `cWGBPT/cWUSDC` | `PHASE2_42161_CWGBPT_CWUSDC_A_RAW`, `PHASE2_42161_CWGBPT_CWUSDC_B_RAW` | +| `172` | `42161` | Arbitrum One | `cWGBPT/cWUSDT` | `PHASE2_42161_CWGBPT_CWUSDT_A_RAW`, `PHASE2_42161_CWGBPT_CWUSDT_B_RAW` | +| `173` | `42161` | Arbitrum One | `cWJPYC/cWUSDC` | `PHASE2_42161_CWJPYC_CWUSDC_A_RAW`, `PHASE2_42161_CWJPYC_CWUSDC_B_RAW` | +| `174` | `42161` | Arbitrum One | `cWJPYC/cWUSDT` | `PHASE2_42161_CWJPYC_CWUSDT_A_RAW`, `PHASE2_42161_CWJPYC_CWUSDT_B_RAW` | +| `175` | `42161` | Arbitrum One | `cWXAUC/cWUSDC` | `PHASE2_42161_CWXAUC_CWUSDC_A_RAW`, `PHASE2_42161_CWXAUC_CWUSDC_B_RAW` | +| `176` | `42161` | Arbitrum One | `cWXAUC/cWUSDT` | `PHASE2_42161_CWXAUC_CWUSDT_A_RAW`, `PHASE2_42161_CWXAUC_CWUSDT_B_RAW` | +| `177` | `42161` | Arbitrum One | `cWXAUT/cWUSDC` | `PHASE2_42161_CWXAUT_CWUSDC_A_RAW`, `PHASE2_42161_CWXAUT_CWUSDC_B_RAW` | +| `178` | `42161` | Arbitrum One | `cWXAUT/cWUSDT` | `PHASE2_42161_CWXAUT_CWUSDT_A_RAW`, `PHASE2_42161_CWXAUT_CWUSDT_B_RAW` | +| `179` | `42220` | Celo | `cWAUDC/cWUSDC` | `PHASE2_42220_CWAUDC_CWUSDC_A_RAW`, `PHASE2_42220_CWAUDC_CWUSDC_B_RAW` | +| `180` | `42220` | Celo | `cWAUDC/cWUSDT` | `PHASE2_42220_CWAUDC_CWUSDT_A_RAW`, `PHASE2_42220_CWAUDC_CWUSDT_B_RAW` | +| `181` | `42220` | Celo | `cWBTC/cWUSDC` | `PHASE2_42220_CWBTC_CWUSDC_A_RAW`, `PHASE2_42220_CWBTC_CWUSDC_B_RAW` | +| `182` | `42220` | Celo | `cWBTC/cWUSDT` | `PHASE2_42220_CWBTC_CWUSDT_A_RAW`, `PHASE2_42220_CWBTC_CWUSDT_B_RAW` | +| `183` | `42220` | Celo | `cWCADC/cWUSDC` | `PHASE2_42220_CWCADC_CWUSDC_A_RAW`, `PHASE2_42220_CWCADC_CWUSDC_B_RAW` | +| `184` | `42220` | Celo | `cWCADC/cWUSDT` | `PHASE2_42220_CWCADC_CWUSDT_A_RAW`, `PHASE2_42220_CWCADC_CWUSDT_B_RAW` | +| `185` | `42220` | Celo | `cWCHFC/cWUSDC` | `PHASE2_42220_CWCHFC_CWUSDC_A_RAW`, `PHASE2_42220_CWCHFC_CWUSDC_B_RAW` | +| `186` | `42220` | Celo | `cWCHFC/cWUSDT` | `PHASE2_42220_CWCHFC_CWUSDT_A_RAW`, `PHASE2_42220_CWCHFC_CWUSDT_B_RAW` | +| `187` | `42220` | Celo | `cWEURC/cWUSDC` | `PHASE2_42220_CWEURC_CWUSDC_A_RAW`, `PHASE2_42220_CWEURC_CWUSDC_B_RAW` | +| `188` | `42220` | Celo | `cWEURC/cWUSDT` | `PHASE2_42220_CWEURC_CWUSDT_A_RAW`, `PHASE2_42220_CWEURC_CWUSDT_B_RAW` | +| `189` | `42220` | Celo | `cWEURT/cWUSDC` | `PHASE2_42220_CWEURT_CWUSDC_A_RAW`, `PHASE2_42220_CWEURT_CWUSDC_B_RAW` | +| `190` | `42220` | Celo | `cWEURT/cWUSDT` | `PHASE2_42220_CWEURT_CWUSDT_A_RAW`, `PHASE2_42220_CWEURT_CWUSDT_B_RAW` | +| `191` | `42220` | Celo | `cWGBPC/cWUSDC` | `PHASE2_42220_CWGBPC_CWUSDC_A_RAW`, `PHASE2_42220_CWGBPC_CWUSDC_B_RAW` | +| `192` | `42220` | Celo | `cWGBPC/cWUSDT` | `PHASE2_42220_CWGBPC_CWUSDT_A_RAW`, `PHASE2_42220_CWGBPC_CWUSDT_B_RAW` | +| `193` | `42220` | Celo | `cWGBPT/cWUSDC` | `PHASE2_42220_CWGBPT_CWUSDC_A_RAW`, `PHASE2_42220_CWGBPT_CWUSDC_B_RAW` | +| `194` | `42220` | Celo | `cWGBPT/cWUSDT` | `PHASE2_42220_CWGBPT_CWUSDT_A_RAW`, `PHASE2_42220_CWGBPT_CWUSDT_B_RAW` | +| `195` | `42220` | Celo | `cWJPYC/cWUSDC` | `PHASE2_42220_CWJPYC_CWUSDC_A_RAW`, `PHASE2_42220_CWJPYC_CWUSDC_B_RAW` | +| `196` | `42220` | Celo | `cWJPYC/cWUSDT` | `PHASE2_42220_CWJPYC_CWUSDT_A_RAW`, `PHASE2_42220_CWJPYC_CWUSDT_B_RAW` | +| `197` | `42220` | Celo | `cWUSDW/cWUSDC` | `PHASE2_42220_CWUSDW_CWUSDC_A_RAW`, `PHASE2_42220_CWUSDW_CWUSDC_B_RAW` | +| `198` | `42220` | Celo | `cWUSDW/cWUSDT` | `PHASE2_42220_CWUSDW_CWUSDT_A_RAW`, `PHASE2_42220_CWUSDW_CWUSDT_B_RAW` | +| `199` | `42220` | Celo | `cWXAUC/cWUSDC` | `PHASE2_42220_CWXAUC_CWUSDC_A_RAW`, `PHASE2_42220_CWXAUC_CWUSDC_B_RAW` | +| `200` | `42220` | Celo | `cWXAUC/cWUSDT` | `PHASE2_42220_CWXAUC_CWUSDT_A_RAW`, `PHASE2_42220_CWXAUC_CWUSDT_B_RAW` | +| `201` | `42220` | Celo | `cWXAUT/cWUSDC` | `PHASE2_42220_CWXAUT_CWUSDC_A_RAW`, `PHASE2_42220_CWXAUT_CWUSDC_B_RAW` | +| `202` | `42220` | Celo | `cWXAUT/cWUSDT` | `PHASE2_42220_CWXAUT_CWUSDT_A_RAW`, `PHASE2_42220_CWXAUT_CWUSDT_B_RAW` | +| `203` | `43114` | Avalanche C-Chain | `cWAUDC/cWUSDC` | `PHASE2_43114_CWAUDC_CWUSDC_A_RAW`, `PHASE2_43114_CWAUDC_CWUSDC_B_RAW` | +| `204` | `43114` | Avalanche C-Chain | `cWAUDC/cWUSDT` | `PHASE2_43114_CWAUDC_CWUSDT_A_RAW`, `PHASE2_43114_CWAUDC_CWUSDT_B_RAW` | +| `205` | `43114` | Avalanche C-Chain | `cWBTC/cWUSDC` | `PHASE2_43114_CWBTC_CWUSDC_A_RAW`, `PHASE2_43114_CWBTC_CWUSDC_B_RAW` | +| `206` | `43114` | Avalanche C-Chain | `cWBTC/cWUSDT` | `PHASE2_43114_CWBTC_CWUSDT_A_RAW`, `PHASE2_43114_CWBTC_CWUSDT_B_RAW` | +| `207` | `43114` | Avalanche C-Chain | `cWCADC/cWUSDC` | `PHASE2_43114_CWCADC_CWUSDC_A_RAW`, `PHASE2_43114_CWCADC_CWUSDC_B_RAW` | +| `208` | `43114` | Avalanche C-Chain | `cWCADC/cWUSDT` | `PHASE2_43114_CWCADC_CWUSDT_A_RAW`, `PHASE2_43114_CWCADC_CWUSDT_B_RAW` | +| `209` | `43114` | Avalanche C-Chain | `cWCHFC/cWUSDC` | `PHASE2_43114_CWCHFC_CWUSDC_A_RAW`, `PHASE2_43114_CWCHFC_CWUSDC_B_RAW` | +| `210` | `43114` | Avalanche C-Chain | `cWCHFC/cWUSDT` | `PHASE2_43114_CWCHFC_CWUSDT_A_RAW`, `PHASE2_43114_CWCHFC_CWUSDT_B_RAW` | +| `211` | `43114` | Avalanche C-Chain | `cWEURC/cWUSDC` | `PHASE2_43114_CWEURC_CWUSDC_A_RAW`, `PHASE2_43114_CWEURC_CWUSDC_B_RAW` | +| `212` | `43114` | Avalanche C-Chain | `cWEURC/cWUSDT` | `PHASE2_43114_CWEURC_CWUSDT_A_RAW`, `PHASE2_43114_CWEURC_CWUSDT_B_RAW` | +| `213` | `43114` | Avalanche C-Chain | `cWEURT/cWUSDC` | `PHASE2_43114_CWEURT_CWUSDC_A_RAW`, `PHASE2_43114_CWEURT_CWUSDC_B_RAW` | +| `214` | `43114` | Avalanche C-Chain | `cWEURT/cWUSDT` | `PHASE2_43114_CWEURT_CWUSDT_A_RAW`, `PHASE2_43114_CWEURT_CWUSDT_B_RAW` | +| `215` | `43114` | Avalanche C-Chain | `cWGBPC/cWUSDC` | `PHASE2_43114_CWGBPC_CWUSDC_A_RAW`, `PHASE2_43114_CWGBPC_CWUSDC_B_RAW` | +| `216` | `43114` | Avalanche C-Chain | `cWGBPC/cWUSDT` | `PHASE2_43114_CWGBPC_CWUSDT_A_RAW`, `PHASE2_43114_CWGBPC_CWUSDT_B_RAW` | +| `217` | `43114` | Avalanche C-Chain | `cWGBPT/cWUSDC` | `PHASE2_43114_CWGBPT_CWUSDC_A_RAW`, `PHASE2_43114_CWGBPT_CWUSDC_B_RAW` | +| `218` | `43114` | Avalanche C-Chain | `cWGBPT/cWUSDT` | `PHASE2_43114_CWGBPT_CWUSDT_A_RAW`, `PHASE2_43114_CWGBPT_CWUSDT_B_RAW` | +| `219` | `43114` | Avalanche C-Chain | `cWJPYC/cWUSDC` | `PHASE2_43114_CWJPYC_CWUSDC_A_RAW`, `PHASE2_43114_CWJPYC_CWUSDC_B_RAW` | +| `220` | `43114` | Avalanche C-Chain | `cWJPYC/cWUSDT` | `PHASE2_43114_CWJPYC_CWUSDT_A_RAW`, `PHASE2_43114_CWJPYC_CWUSDT_B_RAW` | +| `221` | `43114` | Avalanche C-Chain | `cWUSDW/cWUSDC` | `PHASE2_43114_CWUSDW_CWUSDC_A_RAW`, `PHASE2_43114_CWUSDW_CWUSDC_B_RAW` | +| `222` | `43114` | Avalanche C-Chain | `cWUSDW/cWUSDT` | `PHASE2_43114_CWUSDW_CWUSDT_A_RAW`, `PHASE2_43114_CWUSDW_CWUSDT_B_RAW` | +| `223` | `43114` | Avalanche C-Chain | `cWXAUC/cWUSDC` | `PHASE2_43114_CWXAUC_CWUSDC_A_RAW`, `PHASE2_43114_CWXAUC_CWUSDC_B_RAW` | +| `224` | `43114` | Avalanche C-Chain | `cWXAUC/cWUSDT` | `PHASE2_43114_CWXAUC_CWUSDT_A_RAW`, `PHASE2_43114_CWXAUC_CWUSDT_B_RAW` | +| `225` | `43114` | Avalanche C-Chain | `cWXAUT/cWUSDC` | `PHASE2_43114_CWXAUT_CWUSDC_A_RAW`, `PHASE2_43114_CWXAUT_CWUSDC_B_RAW` | +| `226` | `43114` | Avalanche C-Chain | `cWXAUT/cWUSDT` | `PHASE2_43114_CWXAUT_CWUSDT_A_RAW`, `PHASE2_43114_CWXAUT_CWUSDT_B_RAW` | + +## Flat Paste Pack + +### Chain `1` — Ethereum Mainnet — `cWAUDC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWAUDC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWEURC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWEURC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWGBPC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWGBPC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWAUDC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWAUDC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWEURC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4ab39b5bab7b463435209a9039bd40cf241f5a82" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4ab39b5bab7b463435209a9039bd40cf241f5a82" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWEURC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4ab39b5bab7b463435209a9039bd40cf241f5a82" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4ab39b5bab7b463435209a9039bd40cf241f5a82" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWGBPC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3f8c409c6072a2b6a4ff17071927ba70f80c725f" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3f8c409c6072a2b6a4ff17071927ba70f80c725f" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWGBPC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3f8c409c6072a2b6a4ff17071927ba70f80c725f" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3f8c409c6072a2b6a4ff17071927ba70f80c725f" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWAUDC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWAUDC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWEURC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7574d37F42528B47c88962931e48FC61608a4050" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7574d37F42528B47c88962931e48FC61608a4050" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWEURC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7574d37F42528B47c88962931e48FC61608a4050" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7574d37F42528B47c88962931e48FC61608a4050" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWGBPC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe5c65A76A541368d3061fe9E7A2140cABB903dbF" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe5c65A76A541368d3061fe9E7A2140cABB903dbF" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWGBPC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe5c65A76A541368d3061fe9E7A2140cABB903dbF" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe5c65A76A541368d3061fe9E7A2140cABB903dbF" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWAUDC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7062f35567BBAb4d98dc33af03B0d14Df42294D5" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7062f35567BBAb4d98dc33af03B0d14Df42294D5" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWAUDC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7062f35567BBAb4d98dc33af03B0d14Df42294D5" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7062f35567BBAb4d98dc33af03B0d14Df42294D5" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWEURC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x50b073d0D1D2f002745cb9FC28a057d5be84911c" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x50b073d0D1D2f002745cb9FC28a057d5be84911c" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWEURC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x50b073d0D1D2f002745cb9FC28a057d5be84911c" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x50b073d0D1D2f002745cb9FC28a057d5be84911c" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWGBPC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWGBPC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWUSDW/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWUSDW/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWAUDC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWAUDC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWEURC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWEURC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWGBPC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWGBPC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWAUDC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xFb4B6Cc81211F7d886950158294A44C312abCA29" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xFb4B6Cc81211F7d886950158294A44C312abCA29" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWAUDC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xFb4B6Cc81211F7d886950158294A44C312abCA29" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xFb4B6Cc81211F7d886950158294A44C312abCA29" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWEURC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWEURC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWGBPC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x948690147D2e50ffe50C5d38C14125aD6a9FA036" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x948690147D2e50ffe50C5d38C14125aD6a9FA036" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWGBPC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x948690147D2e50ffe50C5d38C14125aD6a9FA036" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x948690147D2e50ffe50C5d38C14125aD6a9FA036" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWAUDC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWAUDC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWEURC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb145ba9a370681e3545f60e55621ebf218b1031" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb145ba9a370681e3545f60e55621ebf218b1031" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWEURC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb145ba9a370681e3545f60e55621ebf218b1031" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb145ba9a370681e3545f60e55621ebf218b1031" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWGBPC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWGBPC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWAUDC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWAUDC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWEURC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWEURC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWGBPC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWGBPC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWAUDC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWAUDC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWEURC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xb6D2f38b9015F32ccE8818509c712264E7fceeD3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xb6D2f38b9015F32ccE8818509c712264E7fceeD3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWEURC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xb6D2f38b9015F32ccE8818509c712264E7fceeD3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xb6D2f38b9015F32ccE8818509c712264E7fceeD3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWGBPC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xE37c332a88f112F9e039C5d92D821402A89c7052" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xE37c332a88f112F9e039C5d92D821402A89c7052" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWGBPC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xE37c332a88f112F9e039C5d92D821402A89c7052" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xE37c332a88f112F9e039C5d92D821402A89c7052" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWUSDW/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWUSDW/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWAUDC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x04e1e22b0d41e99f4275bd40a50480219bc9a223" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x04e1e22b0d41e99f4275bd40a50480219bc9a223" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWAUDC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x04e1e22b0d41e99f4275bd40a50480219bc9a223" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x04e1e22b0d41e99f4275bd40a50480219bc9a223" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWEURC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWEURC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWGBPC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWGBPC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWUSDW/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWUSDW/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_OPERATOR_SEQUENCE.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_OPERATOR_SEQUENCE.md new file mode 100644 index 00000000..f33cad98 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_OPERATOR_SEQUENCE.md @@ -0,0 +1,11894 @@ +# Mr. Promod Uniswap V2 Phase 2 Operator Sequence + +- Generated: `2026-04-18T02:19:49Z` +- Program: Mr. Promod Uniswap V2 cW Deep Liquidity Program +- Mainnet funding posture: `triple-rail-support` via `cWUSDC, cWUSDT, cWAUSDT` +- Purpose: exact phase-2 live operator sequence for the full `cW*` wrapped mesh rollout. +- Funding rule: each pair uses explicit raw amount env vars because BTC, gold, FX, and fiat rails do not share a safe default seed size. + +| Chain | Network | Phase 2 Pair Count | RPC Keys | Required Env | +|---|---|---:|---|---| +| `1` | Ethereum Mainnet | `22` | `ETHEREUM_MAINNET_RPC` | `CHAIN_1_UNISWAP_V2_FACTORY`, `CHAIN_1_UNISWAP_V2_ROUTER`, `CHAIN_1_UNISWAP_V2_START_BLOCK` | +| `10` | Optimism | `22` | `OPTIMISM_RPC_URL`, `OPTIMISM_MAINNET_RPC` | `CHAIN_10_UNISWAP_V2_FACTORY`, `CHAIN_10_UNISWAP_V2_ROUTER`, `CHAIN_10_UNISWAP_V2_START_BLOCK` | +| `25` | Cronos | `22` | `CRONOS_RPC_URL`, `CRONOS_MAINNET_RPC` | `CHAIN_25_UNISWAP_V2_FACTORY`, `CHAIN_25_UNISWAP_V2_ROUTER`, `CHAIN_25_UNISWAP_V2_START_BLOCK` | +| `56` | BSC | `24` | `BSC_RPC_URL`, `BSC_MAINNET_RPC` | `CHAIN_56_UNISWAP_V2_FACTORY`, `CHAIN_56_UNISWAP_V2_ROUTER`, `CHAIN_56_UNISWAP_V2_START_BLOCK` | +| `100` | Gnosis | `22` | `GNOSIS_RPC_URL`, `GNOSIS_MAINNET_RPC`, `GNOSIS_RPC` | `CHAIN_100_UNISWAP_V2_FACTORY`, `CHAIN_100_UNISWAP_V2_ROUTER`, `CHAIN_100_UNISWAP_V2_START_BLOCK` | +| `137` | Polygon | `22` | `POLYGON_MAINNET_RPC`, `POLYGON_RPC_URL` | `CHAIN_137_UNISWAP_V2_FACTORY`, `CHAIN_137_UNISWAP_V2_ROUTER`, `CHAIN_137_UNISWAP_V2_START_BLOCK` | +| `8453` | Base | `22` | `BASE_RPC_URL`, `BASE_MAINNET_RPC` | `CHAIN_8453_UNISWAP_V2_FACTORY`, `CHAIN_8453_UNISWAP_V2_ROUTER`, `CHAIN_8453_UNISWAP_V2_START_BLOCK` | +| `42161` | Arbitrum One | `22` | `ARBITRUM_RPC_URL`, `ARBITRUM_MAINNET_RPC` | `CHAIN_42161_UNISWAP_V2_FACTORY`, `CHAIN_42161_UNISWAP_V2_ROUTER`, `CHAIN_42161_UNISWAP_V2_START_BLOCK` | +| `42220` | Celo | `24` | `CELO_RPC_URL`, `CELO_MAINNET_RPC`, `CELO_RPC` | `CHAIN_42220_UNISWAP_V2_FACTORY`, `CHAIN_42220_UNISWAP_V2_ROUTER`, `CHAIN_42220_UNISWAP_V2_START_BLOCK` | +| `43114` | Avalanche C-Chain | `24` | `AVALANCHE_RPC_URL`, `AVALANCHE_MAINNET_RPC` | `CHAIN_43114_UNISWAP_V2_FACTORY`, `CHAIN_43114_UNISWAP_V2_ROUTER`, `CHAIN_43114_UNISWAP_V2_START_BLOCK` | + +## Per-Chain Sequence + +### Chain `1` — Ethereum Mainnet + +- Phase 1 prerequisite: `cWUSDT/cWUSDC` +- Phase 2 cW* count: `22` +- Other phase-2 cW* tokens: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` + +#### `cWAUDC/cWUSDC` + +- Amount envs: `PHASE2_1_CWAUDC_CWUSDC_A_RAW`, `PHASE2_1_CWAUDC_CWUSDC_B_RAW` +- Token addresses: `cWAUDC=0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUDC/cWUSDT` + +- Amount envs: `PHASE2_1_CWAUDC_CWUSDT_A_RAW`, `PHASE2_1_CWAUDC_CWUSDT_B_RAW` +- Token addresses: `cWAUDC=0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_1_CWBTC_CWUSDC_A_RAW`, `PHASE2_1_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000001`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_1_CWBTC_CWUSDT_A_RAW`, `PHASE2_1_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000001`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_1_CWCADC_CWUSDC_A_RAW`, `PHASE2_1_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_1_CWCADC_CWUSDT_A_RAW`, `PHASE2_1_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_1_CWCHFC_CWUSDC_A_RAW`, `PHASE2_1_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0x0F91C5E6Ddd46403746aAC970D05d70FFe404780`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_1_CWCHFC_CWUSDT_A_RAW`, `PHASE2_1_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0x0F91C5E6Ddd46403746aAC970D05d70FFe404780`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDC` + +- Amount envs: `PHASE2_1_CWEURC_CWUSDC_A_RAW`, `PHASE2_1_CWEURC_CWUSDC_B_RAW` +- Token addresses: `cWEURC=0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDT` + +- Amount envs: `PHASE2_1_CWEURC_CWUSDT_A_RAW`, `PHASE2_1_CWEURC_CWUSDT_B_RAW` +- Token addresses: `cWEURC=0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_1_CWEURT_CWUSDC_A_RAW`, `PHASE2_1_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_1_CWEURT_CWUSDT_A_RAW`, `PHASE2_1_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDC` + +- Amount envs: `PHASE2_1_CWGBPC_CWUSDC_A_RAW`, `PHASE2_1_CWGBPC_CWUSDC_B_RAW` +- Token addresses: `cWGBPC=0xc074007dc0bfb384b1cf6426a56287ed23fe4d52`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDT` + +- Amount envs: `PHASE2_1_CWGBPC_CWUSDT_A_RAW`, `PHASE2_1_CWGBPC_CWUSDT_B_RAW` +- Token addresses: `cWGBPC=0xc074007dc0bfb384b1cf6426a56287ed23fe4d52`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_1_CWGBPT_CWUSDC_A_RAW`, `PHASE2_1_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_1_CWGBPT_CWUSDT_A_RAW`, `PHASE2_1_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_1_CWJPYC_CWUSDC_A_RAW`, `PHASE2_1_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x07EEd0D7dD40984e47B9D3a3bdded1c536435582`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_1_CWJPYC_CWUSDT_A_RAW`, `PHASE2_1_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x07EEd0D7dD40984e47B9D3a3bdded1c536435582`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_1_CWXAUC_CWUSDC_A_RAW`, `PHASE2_1_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0x572Be0fa8CA0534d642A567CEDb398B771D8a715`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_1_CWXAUC_CWUSDT_A_RAW`, `PHASE2_1_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0x572Be0fa8CA0534d642A567CEDb398B771D8a715`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_1_CWXAUT_CWUSDC_A_RAW`, `PHASE2_1_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0xACE1DBF857549a11aF1322e1f91F2F64b029c906`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_1_CWXAUT_CWUSDT_A_RAW`, `PHASE2_1_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0xACE1DBF857549a11aF1322e1f91F2F64b029c906`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `10` — Optimism + +- Phase 1 prerequisite: `cWUSDT/cWUSDC` +- Phase 2 cW* count: `22` +- Other phase-2 cW* tokens: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` + +#### `cWAUDC/cWUSDC` + +- Amount envs: `PHASE2_10_CWAUDC_CWUSDC_A_RAW`, `PHASE2_10_CWAUDC_CWUSDC_B_RAW` +- Token addresses: `cWAUDC=0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUDC/cWUSDT` + +- Amount envs: `PHASE2_10_CWAUDC_CWUSDT_A_RAW`, `PHASE2_10_CWAUDC_CWUSDT_B_RAW` +- Token addresses: `cWAUDC=0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_10_CWBTC_CWUSDC_A_RAW`, `PHASE2_10_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000000a`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_10_CWBTC_CWUSDT_A_RAW`, `PHASE2_10_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000000a`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_10_CWCADC_CWUSDC_A_RAW`, `PHASE2_10_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0x9f6d2578003fe04e58a9819a4943732f2a203a61`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_10_CWCADC_CWUSDT_A_RAW`, `PHASE2_10_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0x9f6d2578003fe04e58a9819a4943732f2a203a61`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_10_CWCHFC_CWUSDC_A_RAW`, `PHASE2_10_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_10_CWCHFC_CWUSDT_A_RAW`, `PHASE2_10_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDC` + +- Amount envs: `PHASE2_10_CWEURC_CWUSDC_A_RAW`, `PHASE2_10_CWEURC_CWUSDC_B_RAW` +- Token addresses: `cWEURC=0x4ab39b5bab7b463435209a9039bd40cf241f5a82`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4ab39b5bab7b463435209a9039bd40cf241f5a82" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4ab39b5bab7b463435209a9039bd40cf241f5a82" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDT` + +- Amount envs: `PHASE2_10_CWEURC_CWUSDT_A_RAW`, `PHASE2_10_CWEURC_CWUSDT_B_RAW` +- Token addresses: `cWEURC=0x4ab39b5bab7b463435209a9039bd40cf241f5a82`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4ab39b5bab7b463435209a9039bd40cf241f5a82" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4ab39b5bab7b463435209a9039bd40cf241f5a82" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_10_CWEURT_CWUSDC_A_RAW`, `PHASE2_10_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x6f521cd9fcf7884cd4e9486c7790e818638e09dd`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_10_CWEURT_CWUSDT_A_RAW`, `PHASE2_10_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x6f521cd9fcf7884cd4e9486c7790e818638e09dd`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDC` + +- Amount envs: `PHASE2_10_CWGBPC_CWUSDC_A_RAW`, `PHASE2_10_CWGBPC_CWUSDC_B_RAW` +- Token addresses: `cWGBPC=0x3f8c409c6072a2b6a4ff17071927ba70f80c725f`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3f8c409c6072a2b6a4ff17071927ba70f80c725f" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3f8c409c6072a2b6a4ff17071927ba70f80c725f" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDT` + +- Amount envs: `PHASE2_10_CWGBPC_CWUSDT_A_RAW`, `PHASE2_10_CWGBPC_CWUSDT_B_RAW` +- Token addresses: `cWGBPC=0x3f8c409c6072a2b6a4ff17071927ba70f80c725f`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3f8c409c6072a2b6a4ff17071927ba70f80c725f" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3f8c409c6072a2b6a4ff17071927ba70f80c725f" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_10_CWGBPT_CWUSDC_A_RAW`, `PHASE2_10_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x456373d095d6b9260f01709f93fccf1d8aa14d11`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_10_CWGBPT_CWUSDT_A_RAW`, `PHASE2_10_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x456373d095d6b9260f01709f93fccf1d8aa14d11`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_10_CWJPYC_CWUSDC_A_RAW`, `PHASE2_10_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_10_CWJPYC_CWUSDT_A_RAW`, `PHASE2_10_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_10_CWXAUC_CWUSDC_A_RAW`, `PHASE2_10_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0xddc4063f770f7c49d00b5a10fb552e922aa39b2c`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_10_CWXAUC_CWUSDT_A_RAW`, `PHASE2_10_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0xddc4063f770f7c49d00b5a10fb552e922aa39b2c`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_10_CWXAUT_CWUSDC_A_RAW`, `PHASE2_10_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0x145e8e8c49b6a021969dd9d2c01c8fea44374f61`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_10_CWXAUT_CWUSDT_A_RAW`, `PHASE2_10_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0x145e8e8c49b6a021969dd9d2c01c8fea44374f61`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `25` — Cronos + +- Phase 1 prerequisite: `cWUSDT/cWUSDC` +- Phase 2 cW* count: `22` +- Other phase-2 cW* tokens: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` + +#### `cWAUDC/cWUSDC` + +- Amount envs: `PHASE2_25_CWAUDC_CWUSDC_A_RAW`, `PHASE2_25_CWAUDC_CWUSDC_B_RAW` +- Token addresses: `cWAUDC=0xff3084410A732231472Ee9f93F5855dA89CC5254`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUDC/cWUSDT` + +- Amount envs: `PHASE2_25_CWAUDC_CWUSDT_A_RAW`, `PHASE2_25_CWAUDC_CWUSDT_B_RAW` +- Token addresses: `cWAUDC=0xff3084410A732231472Ee9f93F5855dA89CC5254`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_25_CWBTC_CWUSDC_A_RAW`, `PHASE2_25_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000019`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_25_CWBTC_CWUSDT_A_RAW`, `PHASE2_25_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000019`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_25_CWCADC_CWUSDC_A_RAW`, `PHASE2_25_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0x32aD687F24F77bF8C86605c202c829163Ac5Ab36`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_25_CWCADC_CWUSDT_A_RAW`, `PHASE2_25_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0x32aD687F24F77bF8C86605c202c829163Ac5Ab36`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_25_CWCHFC_CWUSDC_A_RAW`, `PHASE2_25_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0xB55F49D6316322d5caA96D34C6e4b1003BD3E670`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_25_CWCHFC_CWUSDT_A_RAW`, `PHASE2_25_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0xB55F49D6316322d5caA96D34C6e4b1003BD3E670`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDC` + +- Amount envs: `PHASE2_25_CWEURC_CWUSDC_A_RAW`, `PHASE2_25_CWEURC_CWUSDC_B_RAW` +- Token addresses: `cWEURC=0x7574d37F42528B47c88962931e48FC61608a4050`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7574d37F42528B47c88962931e48FC61608a4050" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7574d37F42528B47c88962931e48FC61608a4050" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDT` + +- Amount envs: `PHASE2_25_CWEURC_CWUSDT_A_RAW`, `PHASE2_25_CWEURC_CWUSDT_B_RAW` +- Token addresses: `cWEURC=0x7574d37F42528B47c88962931e48FC61608a4050`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7574d37F42528B47c88962931e48FC61608a4050" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7574d37F42528B47c88962931e48FC61608a4050" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_25_CWEURT_CWUSDC_A_RAW`, `PHASE2_25_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x9f833b4f1012F52eb3317b09922a79c6EdFca77D`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_25_CWEURT_CWUSDT_A_RAW`, `PHASE2_25_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x9f833b4f1012F52eb3317b09922a79c6EdFca77D`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDC` + +- Amount envs: `PHASE2_25_CWGBPC_CWUSDC_A_RAW`, `PHASE2_25_CWGBPC_CWUSDC_B_RAW` +- Token addresses: `cWGBPC=0xe5c65A76A541368d3061fe9E7A2140cABB903dbF`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe5c65A76A541368d3061fe9E7A2140cABB903dbF" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe5c65A76A541368d3061fe9E7A2140cABB903dbF" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDT` + +- Amount envs: `PHASE2_25_CWGBPC_CWUSDT_A_RAW`, `PHASE2_25_CWGBPC_CWUSDT_B_RAW` +- Token addresses: `cWGBPC=0xe5c65A76A541368d3061fe9E7A2140cABB903dbF`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe5c65A76A541368d3061fe9E7A2140cABB903dbF" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe5c65A76A541368d3061fe9E7A2140cABB903dbF" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_25_CWGBPT_CWUSDC_A_RAW`, `PHASE2_25_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0xBb58fa16bAc8E789f09C14243adEE6480D8213A2`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_25_CWGBPT_CWUSDT_A_RAW`, `PHASE2_25_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0xBb58fa16bAc8E789f09C14243adEE6480D8213A2`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_25_CWJPYC_CWUSDC_A_RAW`, `PHASE2_25_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_25_CWJPYC_CWUSDT_A_RAW`, `PHASE2_25_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_25_CWXAUC_CWUSDC_A_RAW`, `PHASE2_25_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0xf1B771c95573113E993374c0c7cB2dc1a7908B12`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_25_CWXAUC_CWUSDT_A_RAW`, `PHASE2_25_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0xf1B771c95573113E993374c0c7cB2dc1a7908B12`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_25_CWXAUT_CWUSDC_A_RAW`, `PHASE2_25_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_25_CWXAUT_CWUSDT_A_RAW`, `PHASE2_25_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `56` — BSC + +- Phase 1 prerequisite: `cWUSDT/cWUSDC` +- Phase 2 cW* count: `24` +- Other phase-2 cW* tokens: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` + +#### `cWAUDC/cWUSDC` + +- Amount envs: `PHASE2_56_CWAUDC_CWUSDC_A_RAW`, `PHASE2_56_CWAUDC_CWUSDC_B_RAW` +- Token addresses: `cWAUDC=0x7062f35567BBAb4d98dc33af03B0d14Df42294D5`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7062f35567BBAb4d98dc33af03B0d14Df42294D5" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7062f35567BBAb4d98dc33af03B0d14Df42294D5" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUDC/cWUSDT` + +- Amount envs: `PHASE2_56_CWAUDC_CWUSDT_A_RAW`, `PHASE2_56_CWAUDC_CWUSDT_B_RAW` +- Token addresses: `cWAUDC=0x7062f35567BBAb4d98dc33af03B0d14Df42294D5`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7062f35567BBAb4d98dc33af03B0d14Df42294D5" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7062f35567BBAb4d98dc33af03B0d14Df42294D5" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_56_CWBTC_CWUSDC_A_RAW`, `PHASE2_56_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000038`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_56_CWBTC_CWUSDT_A_RAW`, `PHASE2_56_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000038`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_56_CWCADC_CWUSDC_A_RAW`, `PHASE2_56_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0x9AE7a6B311584D60Fa93f973950d609061875775`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_56_CWCADC_CWUSDT_A_RAW`, `PHASE2_56_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0x9AE7a6B311584D60Fa93f973950d609061875775`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_56_CWCHFC_CWUSDC_A_RAW`, `PHASE2_56_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_56_CWCHFC_CWUSDT_A_RAW`, `PHASE2_56_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDC` + +- Amount envs: `PHASE2_56_CWEURC_CWUSDC_A_RAW`, `PHASE2_56_CWEURC_CWUSDC_B_RAW` +- Token addresses: `cWEURC=0x50b073d0D1D2f002745cb9FC28a057d5be84911c`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x50b073d0D1D2f002745cb9FC28a057d5be84911c" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x50b073d0D1D2f002745cb9FC28a057d5be84911c" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDT` + +- Amount envs: `PHASE2_56_CWEURC_CWUSDT_A_RAW`, `PHASE2_56_CWEURC_CWUSDT_B_RAW` +- Token addresses: `cWEURC=0x50b073d0D1D2f002745cb9FC28a057d5be84911c`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x50b073d0D1D2f002745cb9FC28a057d5be84911c" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x50b073d0D1D2f002745cb9FC28a057d5be84911c" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_56_CWEURT_CWUSDC_A_RAW`, `PHASE2_56_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_56_CWEURT_CWUSDT_A_RAW`, `PHASE2_56_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDC` + +- Amount envs: `PHASE2_56_CWGBPC_CWUSDC_A_RAW`, `PHASE2_56_CWGBPC_CWUSDC_B_RAW` +- Token addresses: `cWGBPC=0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDT` + +- Amount envs: `PHASE2_56_CWGBPC_CWUSDT_A_RAW`, `PHASE2_56_CWGBPC_CWUSDT_B_RAW` +- Token addresses: `cWGBPC=0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_56_CWGBPT_CWUSDC_A_RAW`, `PHASE2_56_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_56_CWGBPT_CWUSDT_A_RAW`, `PHASE2_56_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_56_CWJPYC_CWUSDC_A_RAW`, `PHASE2_56_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_56_CWJPYC_CWUSDT_A_RAW`, `PHASE2_56_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWUSDW/cWUSDC` + +- Amount envs: `PHASE2_56_CWUSDW_CWUSDC_A_RAW`, `PHASE2_56_CWUSDW_CWUSDC_B_RAW` +- Token addresses: `cWUSDW=0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWUSDW/cWUSDT` + +- Amount envs: `PHASE2_56_CWUSDW_CWUSDT_A_RAW`, `PHASE2_56_CWUSDW_CWUSDT_B_RAW` +- Token addresses: `cWUSDW=0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_56_CWXAUC_CWUSDC_A_RAW`, `PHASE2_56_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0xCB145bA9A370681e3545F60e55621eBf218B1031`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_56_CWXAUC_CWUSDT_A_RAW`, `PHASE2_56_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0xCB145bA9A370681e3545F60e55621eBf218B1031`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_56_CWXAUT_CWUSDC_A_RAW`, `PHASE2_56_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0x73E0CF8BF861D376B3a4C87c136F975027f045ff`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_56_CWXAUT_CWUSDT_A_RAW`, `PHASE2_56_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0x73E0CF8BF861D376B3a4C87c136F975027f045ff`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `100` — Gnosis + +- Phase 1 prerequisite: `cWUSDT/cWUSDC` +- Phase 2 cW* count: `22` +- Other phase-2 cW* tokens: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` + +#### `cWAUDC/cWUSDC` + +- Amount envs: `PHASE2_100_CWAUDC_CWUSDC_A_RAW`, `PHASE2_100_CWAUDC_CWUSDC_B_RAW` +- Token addresses: `cWAUDC=0xddc4063f770f7c49d00b5a10fb552e922aa39b2c`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUDC/cWUSDT` + +- Amount envs: `PHASE2_100_CWAUDC_CWUSDT_A_RAW`, `PHASE2_100_CWAUDC_CWUSDT_B_RAW` +- Token addresses: `cWAUDC=0xddc4063f770f7c49d00b5a10fb552e922aa39b2c`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_100_CWBTC_CWUSDC_A_RAW`, `PHASE2_100_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000064`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_100_CWBTC_CWUSDT_A_RAW`, `PHASE2_100_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000064`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_100_CWCADC_CWUSDC_A_RAW`, `PHASE2_100_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0xa7133c78e0ec74503a5941bcbd44257615b6b4f6`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_100_CWCADC_CWUSDT_A_RAW`, `PHASE2_100_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0xa7133c78e0ec74503a5941bcbd44257615b6b4f6`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_100_CWCHFC_CWUSDC_A_RAW`, `PHASE2_100_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0x46d90d7947f1139477c206c39268923b99cf09e4`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_100_CWCHFC_CWUSDT_A_RAW`, `PHASE2_100_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0x46d90d7947f1139477c206c39268923b99cf09e4`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDC` + +- Amount envs: `PHASE2_100_CWEURC_CWUSDC_A_RAW`, `PHASE2_100_CWEURC_CWUSDC_B_RAW` +- Token addresses: `cWEURC=0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDT` + +- Amount envs: `PHASE2_100_CWEURC_CWUSDT_A_RAW`, `PHASE2_100_CWEURC_CWUSDT_B_RAW` +- Token addresses: `cWEURC=0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_100_CWEURT_CWUSDC_A_RAW`, `PHASE2_100_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_100_CWEURT_CWUSDT_A_RAW`, `PHASE2_100_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDC` + +- Amount envs: `PHASE2_100_CWGBPC_CWUSDC_A_RAW`, `PHASE2_100_CWGBPC_CWUSDC_B_RAW` +- Token addresses: `cWGBPC=0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDT` + +- Amount envs: `PHASE2_100_CWGBPC_CWUSDT_A_RAW`, `PHASE2_100_CWGBPC_CWUSDT_B_RAW` +- Token addresses: `cWGBPC=0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_100_CWGBPT_CWUSDC_A_RAW`, `PHASE2_100_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x9f6d2578003fe04e58a9819a4943732f2a203a61`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_100_CWGBPT_CWUSDT_A_RAW`, `PHASE2_100_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x9f6d2578003fe04e58a9819a4943732f2a203a61`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_100_CWJPYC_CWUSDC_A_RAW`, `PHASE2_100_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x145e8e8c49b6a021969dd9d2c01c8fea44374f61`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_100_CWJPYC_CWUSDT_A_RAW`, `PHASE2_100_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x145e8e8c49b6a021969dd9d2c01c8fea44374f61`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_100_CWXAUC_CWUSDC_A_RAW`, `PHASE2_100_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_100_CWXAUC_CWUSDT_A_RAW`, `PHASE2_100_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_100_CWXAUT_CWUSDC_A_RAW`, `PHASE2_100_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0xc6189d404dc60cae7b48e2190e44770a03193e5f`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_100_CWXAUT_CWUSDT_A_RAW`, `PHASE2_100_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0xc6189d404dc60cae7b48e2190e44770a03193e5f`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `137` — Polygon + +- Phase 1 prerequisite: `cWUSDT/cWUSDC` +- Phase 2 cW* count: `22` +- Other phase-2 cW* tokens: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` + +#### `cWAUDC/cWUSDC` + +- Amount envs: `PHASE2_137_CWAUDC_CWUSDC_A_RAW`, `PHASE2_137_CWAUDC_CWUSDC_B_RAW` +- Token addresses: `cWAUDC=0xFb4B6Cc81211F7d886950158294A44C312abCA29`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xFb4B6Cc81211F7d886950158294A44C312abCA29" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xFb4B6Cc81211F7d886950158294A44C312abCA29" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUDC/cWUSDT` + +- Amount envs: `PHASE2_137_CWAUDC_CWUSDT_A_RAW`, `PHASE2_137_CWAUDC_CWUSDT_B_RAW` +- Token addresses: `cWAUDC=0xFb4B6Cc81211F7d886950158294A44C312abCA29`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xFb4B6Cc81211F7d886950158294A44C312abCA29" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xFb4B6Cc81211F7d886950158294A44C312abCA29" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_137_CWBTC_CWUSDC_A_RAW`, `PHASE2_137_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000089`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_137_CWBTC_CWUSDT_A_RAW`, `PHASE2_137_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000089`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_137_CWCADC_CWUSDC_A_RAW`, `PHASE2_137_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0xc9750828124D4c10e7a6f4B655cA8487bD3842EB`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_137_CWCADC_CWUSDT_A_RAW`, `PHASE2_137_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0xc9750828124D4c10e7a6f4B655cA8487bD3842EB`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_137_CWCHFC_CWUSDC_A_RAW`, `PHASE2_137_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_137_CWCHFC_CWUSDT_A_RAW`, `PHASE2_137_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDC` + +- Amount envs: `PHASE2_137_CWEURC_CWUSDC_A_RAW`, `PHASE2_137_CWEURC_CWUSDC_B_RAW` +- Token addresses: `cWEURC=0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDT` + +- Amount envs: `PHASE2_137_CWEURC_CWUSDT_A_RAW`, `PHASE2_137_CWEURC_CWUSDT_B_RAW` +- Token addresses: `cWEURC=0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_137_CWEURT_CWUSDC_A_RAW`, `PHASE2_137_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_137_CWEURT_CWUSDT_A_RAW`, `PHASE2_137_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDC` + +- Amount envs: `PHASE2_137_CWGBPC_CWUSDC_A_RAW`, `PHASE2_137_CWGBPC_CWUSDC_B_RAW` +- Token addresses: `cWGBPC=0x948690147D2e50ffe50C5d38C14125aD6a9FA036`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x948690147D2e50ffe50C5d38C14125aD6a9FA036" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x948690147D2e50ffe50C5d38C14125aD6a9FA036" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDT` + +- Amount envs: `PHASE2_137_CWGBPC_CWUSDT_A_RAW`, `PHASE2_137_CWGBPC_CWUSDT_B_RAW` +- Token addresses: `cWGBPC=0x948690147D2e50ffe50C5d38C14125aD6a9FA036`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x948690147D2e50ffe50C5d38C14125aD6a9FA036" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x948690147D2e50ffe50C5d38C14125aD6a9FA036" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_137_CWGBPT_CWUSDC_A_RAW`, `PHASE2_137_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_137_CWGBPT_CWUSDT_A_RAW`, `PHASE2_137_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_137_CWJPYC_CWUSDC_A_RAW`, `PHASE2_137_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_137_CWJPYC_CWUSDT_A_RAW`, `PHASE2_137_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_137_CWXAUC_CWUSDC_A_RAW`, `PHASE2_137_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0x328Cd365Bb35524297E68ED28c6fF2C9557d1363`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_137_CWXAUC_CWUSDT_A_RAW`, `PHASE2_137_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0x328Cd365Bb35524297E68ED28c6fF2C9557d1363`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_137_CWXAUT_CWUSDC_A_RAW`, `PHASE2_137_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0x9e6044d730d4183bF7a666293d257d035Fba6d44`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_137_CWXAUT_CWUSDT_A_RAW`, `PHASE2_137_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0x9e6044d730d4183bF7a666293d257d035Fba6d44`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `8453` — Base + +- Phase 1 prerequisite: `cWUSDT/cWUSDC` +- Phase 2 cW* count: `22` +- Other phase-2 cW* tokens: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` + +#### `cWAUDC/cWUSDC` + +- Amount envs: `PHASE2_8453_CWAUDC_CWUSDC_A_RAW`, `PHASE2_8453_CWAUDC_CWUSDC_B_RAW` +- Token addresses: `cWAUDC=0xa846aead3071df1b6439d5d813156ace7c2c1da1`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUDC/cWUSDT` + +- Amount envs: `PHASE2_8453_CWAUDC_CWUSDT_A_RAW`, `PHASE2_8453_CWAUDC_CWUSDT_B_RAW` +- Token addresses: `cWAUDC=0xa846aead3071df1b6439d5d813156ace7c2c1da1`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_8453_CWBTC_CWUSDC_A_RAW`, `PHASE2_8453_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000002105`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_8453_CWBTC_CWUSDT_A_RAW`, `PHASE2_8453_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000002105`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_8453_CWCADC_CWUSDC_A_RAW`, `PHASE2_8453_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0xdc383c489533a4dd9a6bd3007386e25d5078b878`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_8453_CWCADC_CWUSDT_A_RAW`, `PHASE2_8453_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0xdc383c489533a4dd9a6bd3007386e25d5078b878`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_8453_CWCHFC_CWUSDC_A_RAW`, `PHASE2_8453_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0xc1535e88578d984f12eab55863376b8d8b9fb05a`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_8453_CWCHFC_CWUSDT_A_RAW`, `PHASE2_8453_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0xc1535e88578d984f12eab55863376b8d8b9fb05a`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDC` + +- Amount envs: `PHASE2_8453_CWEURC_CWUSDC_A_RAW`, `PHASE2_8453_CWEURC_CWUSDC_B_RAW` +- Token addresses: `cWEURC=0xcb145ba9a370681e3545f60e55621ebf218b1031`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb145ba9a370681e3545f60e55621ebf218b1031" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb145ba9a370681e3545f60e55621ebf218b1031" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDT` + +- Amount envs: `PHASE2_8453_CWEURC_CWUSDT_A_RAW`, `PHASE2_8453_CWEURC_CWUSDT_B_RAW` +- Token addresses: `cWEURC=0xcb145ba9a370681e3545f60e55621ebf218b1031`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb145ba9a370681e3545f60e55621ebf218b1031" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb145ba9a370681e3545f60e55621ebf218b1031" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_8453_CWEURT_CWUSDC_A_RAW`, `PHASE2_8453_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x73e0cf8bf861d376b3a4c87c136f975027f045ff`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_8453_CWEURT_CWUSDT_A_RAW`, `PHASE2_8453_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x73e0cf8bf861d376b3a4c87c136f975027f045ff`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDC` + +- Amount envs: `PHASE2_8453_CWGBPC_CWUSDC_A_RAW`, `PHASE2_8453_CWGBPC_CWUSDC_B_RAW` +- Token addresses: `cWGBPC=0x2a0023ad5ce1ac6072b454575996dffb1bb11b16`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDT` + +- Amount envs: `PHASE2_8453_CWGBPC_CWUSDT_A_RAW`, `PHASE2_8453_CWGBPC_CWUSDT_B_RAW` +- Token addresses: `cWGBPC=0x2a0023ad5ce1ac6072b454575996dffb1bb11b16`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_8453_CWGBPT_CWUSDC_A_RAW`, `PHASE2_8453_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x22b98130ab4d9c355512b25ade4c35e75a4e7e89`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_8453_CWGBPT_CWUSDT_A_RAW`, `PHASE2_8453_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x22b98130ab4d9c355512b25ade4c35e75a4e7e89`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_8453_CWJPYC_CWUSDC_A_RAW`, `PHASE2_8453_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x29828e9ab2057cd3df3c9211455ae1f76e53d2af`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_8453_CWJPYC_CWUSDT_A_RAW`, `PHASE2_8453_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x29828e9ab2057cd3df3c9211455ae1f76e53d2af`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_8453_CWXAUC_CWUSDC_A_RAW`, `PHASE2_8453_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0x7e4b4682453bcce19ec903fb69153d3031986bc4`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_8453_CWXAUC_CWUSDT_A_RAW`, `PHASE2_8453_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0x7e4b4682453bcce19ec903fb69153d3031986bc4`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_8453_CWXAUT_CWUSDC_A_RAW`, `PHASE2_8453_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_8453_CWXAUT_CWUSDT_A_RAW`, `PHASE2_8453_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `42161` — Arbitrum One + +- Phase 1 prerequisite: `cWUSDT/cWUSDC` +- Phase 2 cW* count: `22` +- Other phase-2 cW* tokens: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` + +#### `cWAUDC/cWUSDC` + +- Amount envs: `PHASE2_42161_CWAUDC_CWUSDC_A_RAW`, `PHASE2_42161_CWAUDC_CWUSDC_B_RAW` +- Token addresses: `cWAUDC=0xc1535e88578d984f12eab55863376b8d8b9fb05a`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUDC/cWUSDT` + +- Amount envs: `PHASE2_42161_CWAUDC_CWUSDT_A_RAW`, `PHASE2_42161_CWAUDC_CWUSDT_B_RAW` +- Token addresses: `cWAUDC=0xc1535e88578d984f12eab55863376b8d8b9fb05a`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_42161_CWBTC_CWUSDC_A_RAW`, `PHASE2_42161_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a4b1`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_42161_CWBTC_CWUSDT_A_RAW`, `PHASE2_42161_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a4b1`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_42161_CWCADC_CWUSDC_A_RAW`, `PHASE2_42161_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_42161_CWCADC_CWUSDT_A_RAW`, `PHASE2_42161_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_42161_CWCHFC_CWUSDC_A_RAW`, `PHASE2_42161_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0x7e4b4682453bcce19ec903fb69153d3031986bc4`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_42161_CWCHFC_CWUSDT_A_RAW`, `PHASE2_42161_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0x7e4b4682453bcce19ec903fb69153d3031986bc4`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDC` + +- Amount envs: `PHASE2_42161_CWEURC_CWUSDC_A_RAW`, `PHASE2_42161_CWEURC_CWUSDC_B_RAW` +- Token addresses: `cWEURC=0x2a0023ad5ce1ac6072b454575996dffb1bb11b16`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDT` + +- Amount envs: `PHASE2_42161_CWEURC_CWUSDT_A_RAW`, `PHASE2_42161_CWEURC_CWUSDT_B_RAW` +- Token addresses: `cWEURC=0x2a0023ad5ce1ac6072b454575996dffb1bb11b16`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_42161_CWEURT_CWUSDC_A_RAW`, `PHASE2_42161_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x22b98130ab4d9c355512b25ade4c35e75a4e7e89`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_42161_CWEURT_CWUSDT_A_RAW`, `PHASE2_42161_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x22b98130ab4d9c355512b25ade4c35e75a4e7e89`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDC` + +- Amount envs: `PHASE2_42161_CWGBPC_CWUSDC_A_RAW`, `PHASE2_42161_CWGBPC_CWUSDC_B_RAW` +- Token addresses: `cWGBPC=0xa846aead3071df1b6439d5d813156ace7c2c1da1`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDT` + +- Amount envs: `PHASE2_42161_CWGBPC_CWUSDT_A_RAW`, `PHASE2_42161_CWGBPC_CWUSDT_B_RAW` +- Token addresses: `cWGBPC=0xa846aead3071df1b6439d5d813156ace7c2c1da1`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_42161_CWGBPT_CWUSDC_A_RAW`, `PHASE2_42161_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x29828e9ab2057cd3df3c9211455ae1f76e53d2af`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_42161_CWGBPT_CWUSDT_A_RAW`, `PHASE2_42161_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x29828e9ab2057cd3df3c9211455ae1f76e53d2af`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_42161_CWJPYC_CWUSDC_A_RAW`, `PHASE2_42161_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0xdc383c489533a4dd9a6bd3007386e25d5078b878`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_42161_CWJPYC_CWUSDT_A_RAW`, `PHASE2_42161_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0xdc383c489533a4dd9a6bd3007386e25d5078b878`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_42161_CWXAUC_CWUSDC_A_RAW`, `PHASE2_42161_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0xa7762b63c4871581885ad17c5714ebb286a7480b`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_42161_CWXAUC_CWUSDT_A_RAW`, `PHASE2_42161_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0xa7762b63c4871581885ad17c5714ebb286a7480b`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_42161_CWXAUT_CWUSDC_A_RAW`, `PHASE2_42161_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0x66568899ffe8f00b25dc470e878b65a478994e76`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_42161_CWXAUT_CWUSDT_A_RAW`, `PHASE2_42161_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0x66568899ffe8f00b25dc470e878b65a478994e76`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `42220` — Celo + +- Phase 1 prerequisite: `cWUSDT/cWUSDC` +- Phase 2 cW* count: `24` +- Other phase-2 cW* tokens: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` + +#### `cWAUDC/cWUSDC` + +- Amount envs: `PHASE2_42220_CWAUDC_CWUSDC_A_RAW`, `PHASE2_42220_CWAUDC_CWUSDC_B_RAW` +- Token addresses: `cWAUDC=0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUDC/cWUSDT` + +- Amount envs: `PHASE2_42220_CWAUDC_CWUSDT_A_RAW`, `PHASE2_42220_CWAUDC_CWUSDT_B_RAW` +- Token addresses: `cWAUDC=0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_42220_CWBTC_CWUSDC_A_RAW`, `PHASE2_42220_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a4ec`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_42220_CWBTC_CWUSDT_A_RAW`, `PHASE2_42220_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a4ec`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_42220_CWCADC_CWUSDC_A_RAW`, `PHASE2_42220_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0x0C242b513008Cd49C89078F5aFb237A3112251EB`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_42220_CWCADC_CWUSDT_A_RAW`, `PHASE2_42220_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0x0C242b513008Cd49C89078F5aFb237A3112251EB`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_42220_CWCHFC_CWUSDC_A_RAW`, `PHASE2_42220_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0x8142BA530B08f3950128601F00DaaA678213DFdf`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_42220_CWCHFC_CWUSDT_A_RAW`, `PHASE2_42220_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0x8142BA530B08f3950128601F00DaaA678213DFdf`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDC` + +- Amount envs: `PHASE2_42220_CWEURC_CWUSDC_A_RAW`, `PHASE2_42220_CWEURC_CWUSDC_B_RAW` +- Token addresses: `cWEURC=0xb6D2f38b9015F32ccE8818509c712264E7fceeD3`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xb6D2f38b9015F32ccE8818509c712264E7fceeD3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xb6D2f38b9015F32ccE8818509c712264E7fceeD3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDT` + +- Amount envs: `PHASE2_42220_CWEURC_CWUSDT_A_RAW`, `PHASE2_42220_CWEURC_CWUSDT_B_RAW` +- Token addresses: `cWEURC=0xb6D2f38b9015F32ccE8818509c712264E7fceeD3`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xb6D2f38b9015F32ccE8818509c712264E7fceeD3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xb6D2f38b9015F32ccE8818509c712264E7fceeD3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_42220_CWEURT_CWUSDC_A_RAW`, `PHASE2_42220_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_42220_CWEURT_CWUSDT_A_RAW`, `PHASE2_42220_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDC` + +- Amount envs: `PHASE2_42220_CWGBPC_CWUSDC_A_RAW`, `PHASE2_42220_CWGBPC_CWUSDC_B_RAW` +- Token addresses: `cWGBPC=0xE37c332a88f112F9e039C5d92D821402A89c7052`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xE37c332a88f112F9e039C5d92D821402A89c7052" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xE37c332a88f112F9e039C5d92D821402A89c7052" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDT` + +- Amount envs: `PHASE2_42220_CWGBPC_CWUSDT_A_RAW`, `PHASE2_42220_CWGBPC_CWUSDT_B_RAW` +- Token addresses: `cWGBPC=0xE37c332a88f112F9e039C5d92D821402A89c7052`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xE37c332a88f112F9e039C5d92D821402A89c7052" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xE37c332a88f112F9e039C5d92D821402A89c7052" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_42220_CWGBPT_CWUSDC_A_RAW`, `PHASE2_42220_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_42220_CWGBPT_CWUSDT_A_RAW`, `PHASE2_42220_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_42220_CWJPYC_CWUSDC_A_RAW`, `PHASE2_42220_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_42220_CWJPYC_CWUSDT_A_RAW`, `PHASE2_42220_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWUSDW/cWUSDC` + +- Amount envs: `PHASE2_42220_CWUSDW_CWUSDC_A_RAW`, `PHASE2_42220_CWUSDW_CWUSDC_B_RAW` +- Token addresses: `cWUSDW=0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWUSDW/cWUSDT` + +- Amount envs: `PHASE2_42220_CWUSDW_CWUSDT_A_RAW`, `PHASE2_42220_CWUSDW_CWUSDT_B_RAW` +- Token addresses: `cWUSDW=0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_42220_CWXAUC_CWUSDC_A_RAW`, `PHASE2_42220_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0x61D642979eD75c1325f35b9275C5A7FE97F22451`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_42220_CWXAUC_CWUSDT_A_RAW`, `PHASE2_42220_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0x61D642979eD75c1325f35b9275C5A7FE97F22451`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_42220_CWXAUT_CWUSDC_A_RAW`, `PHASE2_42220_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0x30751782486eed825187C1EAe5DE4b4baD428AaE`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_42220_CWXAUT_CWUSDT_A_RAW`, `PHASE2_42220_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0x30751782486eed825187C1EAe5DE4b4baD428AaE`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `43114` — Avalanche C-Chain + +- Phase 1 prerequisite: `cWUSDT/cWUSDC` +- Phase 2 cW* count: `24` +- Other phase-2 cW* tokens: `cWAUDC`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURC`, `cWEURT`, `cWGBPC`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` + +#### `cWAUDC/cWUSDC` + +- Amount envs: `PHASE2_43114_CWAUDC_CWUSDC_A_RAW`, `PHASE2_43114_CWAUDC_CWUSDC_B_RAW` +- Token addresses: `cWAUDC=0x04e1e22b0d41e99f4275bd40a50480219bc9a223`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x04e1e22b0d41e99f4275bd40a50480219bc9a223" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x04e1e22b0d41e99f4275bd40a50480219bc9a223" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUDC/cWUSDT` + +- Amount envs: `PHASE2_43114_CWAUDC_CWUSDT_A_RAW`, `PHASE2_43114_CWAUDC_CWUSDT_B_RAW` +- Token addresses: `cWAUDC=0x04e1e22b0d41e99f4275bd40a50480219bc9a223`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x04e1e22b0d41e99f4275bd40a50480219bc9a223" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x04e1e22b0d41e99f4275bd40a50480219bc9a223" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_43114_CWBTC_CWUSDC_A_RAW`, `PHASE2_43114_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a86a`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_43114_CWBTC_CWUSDT_A_RAW`, `PHASE2_43114_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a86a`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_43114_CWCADC_CWUSDC_A_RAW`, `PHASE2_43114_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0x1872e033b30f3ce0498847926857433e0146394e`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_43114_CWCADC_CWUSDT_A_RAW`, `PHASE2_43114_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0x1872e033b30f3ce0498847926857433e0146394e`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_43114_CWCHFC_CWUSDC_A_RAW`, `PHASE2_43114_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0xc2fa05f12a75ac84ea778af9d6935ca807275e55`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_43114_CWCHFC_CWUSDT_A_RAW`, `PHASE2_43114_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0xc2fa05f12a75ac84ea778af9d6935ca807275e55`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDC` + +- Amount envs: `PHASE2_43114_CWEURC_CWUSDC_A_RAW`, `PHASE2_43114_CWEURC_CWUSDC_B_RAW` +- Token addresses: `cWEURC=0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURC/cWUSDT` + +- Amount envs: `PHASE2_43114_CWEURC_CWUSDT_A_RAW`, `PHASE2_43114_CWEURC_CWUSDT_B_RAW` +- Token addresses: `cWEURC=0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_43114_CWEURT_CWUSDC_A_RAW`, `PHASE2_43114_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_43114_CWEURT_CWUSDT_A_RAW`, `PHASE2_43114_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDC` + +- Amount envs: `PHASE2_43114_CWGBPC_CWUSDC_A_RAW`, `PHASE2_43114_CWGBPC_CWUSDC_B_RAW` +- Token addresses: `cWGBPC=0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPC/cWUSDT` + +- Amount envs: `PHASE2_43114_CWGBPC_CWUSDT_A_RAW`, `PHASE2_43114_CWGBPC_CWUSDT_B_RAW` +- Token addresses: `cWGBPC=0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_43114_CWGBPT_CWUSDC_A_RAW`, `PHASE2_43114_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x4611d3424e059392a52b957e508273bc761c80f2`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_43114_CWGBPT_CWUSDT_A_RAW`, `PHASE2_43114_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x4611d3424e059392a52b957e508273bc761c80f2`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_43114_CWJPYC_CWUSDC_A_RAW`, `PHASE2_43114_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x3714b1a312e0916c7dcdc4edf480fc0339e59a59`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_43114_CWJPYC_CWUSDT_A_RAW`, `PHASE2_43114_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x3714b1a312e0916c7dcdc4edf480fc0339e59a59`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWUSDW/cWUSDC` + +- Amount envs: `PHASE2_43114_CWUSDW_CWUSDC_A_RAW`, `PHASE2_43114_CWUSDW_CWUSDC_B_RAW` +- Token addresses: `cWUSDW=0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWUSDW/cWUSDT` + +- Amount envs: `PHASE2_43114_CWUSDW_CWUSDT_A_RAW`, `PHASE2_43114_CWUSDW_CWUSDT_B_RAW` +- Token addresses: `cWUSDW=0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_43114_CWXAUC_CWUSDC_A_RAW`, `PHASE2_43114_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0x4f95297c23d9f4a1032b1c6a2e553225cb175bee`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_43114_CWXAUC_CWUSDT_A_RAW`, `PHASE2_43114_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0x4f95297c23d9f4a1032b1c6a2e553225cb175bee`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_43114_CWXAUT_CWUSDC_A_RAW`, `PHASE2_43114_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_43114_CWXAUT_CWUSDT_A_RAW`, `PHASE2_43114_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_SHELL_PASTE_PACK.sh b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_SHELL_PASTE_PACK.sh new file mode 100644 index 00000000..7fcc7d13 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_SHELL_PASTE_PACK.sh @@ -0,0 +1,8813 @@ +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_1_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_1_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4ab39b5bab7b463435209a9039bd40cf241f5a82" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4ab39b5bab7b463435209a9039bd40cf241f5a82" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4ab39b5bab7b463435209a9039bd40cf241f5a82" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4ab39b5bab7b463435209a9039bd40cf241f5a82" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3f8c409c6072a2b6a4ff17071927ba70f80c725f" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3f8c409c6072a2b6a4ff17071927ba70f80c725f" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3f8c409c6072a2b6a4ff17071927ba70f80c725f" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3f8c409c6072a2b6a4ff17071927ba70f80c725f" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_10_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_10_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7574d37F42528B47c88962931e48FC61608a4050" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7574d37F42528B47c88962931e48FC61608a4050" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7574d37F42528B47c88962931e48FC61608a4050" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7574d37F42528B47c88962931e48FC61608a4050" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe5c65A76A541368d3061fe9E7A2140cABB903dbF" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe5c65A76A541368d3061fe9E7A2140cABB903dbF" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe5c65A76A541368d3061fe9E7A2140cABB903dbF" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe5c65A76A541368d3061fe9E7A2140cABB903dbF" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_25_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_25_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7062f35567BBAb4d98dc33af03B0d14Df42294D5" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7062f35567BBAb4d98dc33af03B0d14Df42294D5" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7062f35567BBAb4d98dc33af03B0d14Df42294D5" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7062f35567BBAb4d98dc33af03B0d14Df42294D5" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x50b073d0D1D2f002745cb9FC28a057d5be84911c" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x50b073d0D1D2f002745cb9FC28a057d5be84911c" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x50b073d0D1D2f002745cb9FC28a057d5be84911c" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x50b073d0D1D2f002745cb9FC28a057d5be84911c" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_56_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_56_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_100_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_100_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xFb4B6Cc81211F7d886950158294A44C312abCA29" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xFb4B6Cc81211F7d886950158294A44C312abCA29" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xFb4B6Cc81211F7d886950158294A44C312abCA29" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xFb4B6Cc81211F7d886950158294A44C312abCA29" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x948690147D2e50ffe50C5d38C14125aD6a9FA036" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x948690147D2e50ffe50C5d38C14125aD6a9FA036" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x948690147D2e50ffe50C5d38C14125aD6a9FA036" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x948690147D2e50ffe50C5d38C14125aD6a9FA036" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_137_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_137_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb145ba9a370681e3545f60e55621ebf218b1031" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb145ba9a370681e3545f60e55621ebf218b1031" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb145ba9a370681e3545f60e55621ebf218b1031" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb145ba9a370681e3545f60e55621ebf218b1031" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_8453_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_8453_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2a0023ad5ce1ac6072b454575996dffb1bb11b16" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa846aead3071df1b6439d5d813156ace7c2c1da1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_42161_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42161_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xb6D2f38b9015F32ccE8818509c712264E7fceeD3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xb6D2f38b9015F32ccE8818509c712264E7fceeD3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xb6D2f38b9015F32ccE8818509c712264E7fceeD3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xb6D2f38b9015F32ccE8818509c712264E7fceeD3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xE37c332a88f112F9e039C5d92D821402A89c7052" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xE37c332a88f112F9e039C5d92D821402A89c7052" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xE37c332a88f112F9e039C5d92D821402A89c7052" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xE37c332a88f112F9e039C5d92D821402A89c7052" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_42220_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_42220_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x04e1e22b0d41e99f4275bd40a50480219bc9a223" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x04e1e22b0d41e99f4275bd40a50480219bc9a223" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWAUDC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWAUDC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x04e1e22b0d41e99f4275bd40a50480219bc9a223" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x04e1e22b0d41e99f4275bd40a50480219bc9a223" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWAUDC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWAUDC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_43114_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_43114_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE1_COMPLETION_STATUS.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE1_COMPLETION_STATUS.md new file mode 100644 index 00000000..955e30f5 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE1_COMPLETION_STATUS.md @@ -0,0 +1,83 @@ +# Promod Uniswap V2 Phase 2 Wave 1 Completion Status + +**Generated:** 2026-04-18T02:30:39.167860+00:00 + +**Overall Status:** `complete` + +**Completed Chains:** `1, 10, 25, 56, 100, 137, 8453, 42161, 42220, 43114` + +## Reserve Verification + +| Chain | Network | Pair | Pair Address | Reserves | Status | +|---|---|---|---|---|---| +| `1` | Ethereum Mainnet | `cWAUDC/cWUSDC` | `0x135812ec5E714De8400B47856A8210eE9c4B19bb` | `(1000000000 [1e9], 1000000000 [1e9], 1776459491 [1.776e9])` | `complete` | +| `1` | Ethereum Mainnet | `cWAUDC/cWUSDT` | `0xaC36C0De0A6E94fa21718217c9eccEa4dC2680cF` | `(1000000000 [1e9], 1000000000 [1e9], 1776459503 [1.776e9])` | `complete` | +| `1` | Ethereum Mainnet | `cWEURC/cWUSDC` | `0xaF10c00226DD1Bb28d7e93C21c904B7072b8076D` | `(1000000000 [1e9], 1000000000 [1e9], 1776459899 [1.776e9])` | `complete` | +| `1` | Ethereum Mainnet | `cWEURC/cWUSDT` | `0x58a68B0c4Fc090d63014eA9E1D9D291377EE15Ce` | `(1000000000 [1e9], 1000000000 [1e9], 1776459911 [1.776e9])` | `complete` | +| `1` | Ethereum Mainnet | `cWGBPC/cWUSDC` | `0x43fc09d5d619D43DFE764F39B193900D54992718` | `(1000000000 [1e9], 1000000000 [1e9], 1776459923 [1.776e9])` | `complete` | +| `1` | Ethereum Mainnet | `cWGBPC/cWUSDT` | `0x122781a70764f958D231ea06E3EA3F4F2a324Da9` | `(1000000000 [1e9], 1000000000 [1e9], 1776459935 [1.776e9])` | `complete` | +| `10` | Optimism | `cWAUDC/cWUSDC` | `0xdf58b085EE6Db9Cc0569e8f7FF21877b44645eA8` | `(1000000000 [1e9], 1000000000 [1e9], 1776460061 [1.776e9])` | `complete` | +| `10` | Optimism | `cWAUDC/cWUSDT` | `0xe3093934531459110c37f728C7f4e8557236A677` | `(1000000000 [1e9], 1000000000 [1e9], 1776460065 [1.776e9])` | `complete` | +| `10` | Optimism | `cWEURC/cWUSDC` | `0x8324cDEcE2618FA2b94469165353829819Caaf19` | `(1000000000 [1e9], 1000000000 [1e9], 1776460067 [1.776e9])` | `complete` | +| `10` | Optimism | `cWEURC/cWUSDT` | `0x255BC955CBD24528B83Ce971641A80b75389Fc65` | `(1000000000 [1e9], 1000000000 [1e9], 1776460071 [1.776e9])` | `complete` | +| `10` | Optimism | `cWGBPC/cWUSDC` | `0x16BdD425Be56080b670925AF880bAC599C9346ca` | `(1000000000 [1e9], 1000000000 [1e9], 1776460073 [1.776e9])` | `complete` | +| `10` | Optimism | `cWGBPC/cWUSDT` | `0x3052541a82d02348Bbe7f9Ce1927992ADb9Bd259` | `(1000000000 [1e9], 1000000000 [1e9], 1776460077 [1.776e9])` | `complete` | +| `25` | Cronos | `cWAUDC/cWUSDC` | `0xef0Dd59421024053102b9A29A71D07d4838ef0a5` | `(1000000000 [1e9], 1000000000 [1e9], 1776477932 [1.776e9])` | `complete` | +| `25` | Cronos | `cWAUDC/cWUSDT` | `0x480f7Cf816AEBD62EC60A738635FD6363e004709` | `(1000000000 [1e9], 1000000000 [1e9], 1776477936 [1.776e9])` | `complete` | +| `25` | Cronos | `cWEURC/cWUSDC` | `0x55dF42030A9780F51E3f479Ae28E63ee9049627a` | `(1000000000 [1e9], 1000000000 [1e9], 1776477974 [1.776e9])` | `complete` | +| `25` | Cronos | `cWEURC/cWUSDT` | `0xC3A19A41096265A4137F8346aAcFd5d26568cb97` | `(1000000000 [1e9], 1000000000 [1e9], 1776477978 [1.776e9])` | `complete` | +| `25` | Cronos | `cWGBPC/cWUSDC` | `0x673dFF7d10DbF2Cd6e1F495e53a6AeDb291Df1a7` | `(1000000000 [1e9], 1000000000 [1e9], 1776477981 [1.776e9])` | `complete` | +| `25` | Cronos | `cWGBPC/cWUSDT` | `0xf6314aCBAaC3EE2F8CCc48C8Ca00525824a35C26` | `(1000000000 [1e9], 1000000000 [1e9], 1776477984 [1.776e9])` | `complete` | +| `56` | BSC | `cWAUDC/cWUSDC` | `0x03B5b4bDb04A7D94A8d5D170fE84772756DB912F` | `(1000000000 [1e9], 1000000000 [1e9], 1776478046 [1.776e9])` | `complete` | +| `56` | BSC | `cWAUDC/cWUSDT` | `0x8FA9f96f6E5785ea98A51C97E3d1A05AaafB406e` | `(1000000000 [1e9], 1000000000 [1e9], 1776478049 [1.776e9])` | `complete` | +| `56` | BSC | `cWEURC/cWUSDC` | `0xa07b120e21bc80333AF35C951150a5F983cf12D9` | `(1000000000 [1e9], 1000000000 [1e9], 1776478052 [1.776e9])` | `complete` | +| `56` | BSC | `cWEURC/cWUSDT` | `0xBA9a873BC6cA8885E7E0975247B304cFed2f01E6` | `(1000000000 [1e9], 1000000000 [1e9], 1776478055 [1.776e9])` | `complete` | +| `56` | BSC | `cWGBPC/cWUSDC` | `0x43447275C56be6fd30e74cF3368CFDE561fC2fe7` | `(1000000000 [1e9], 1000000000 [1e9], 1776478116 [1.776e9])` | `complete` | +| `56` | BSC | `cWGBPC/cWUSDT` | `0xd8ac668D812dC7bB86ea66f8e86824a575bf0ed0` | `(1000000000 [1e9], 1000000000 [1e9], 1776478093 [1.776e9])` | `complete` | +| `100` | Gnosis | `cWAUDC/cWUSDC` | `0x65C533F4520816e91303747aFAED84B5B58154d5` | `(1000000000 [1e9], 1000000000 [1e9], 1776457100 [1.776e9])` | `complete` | +| `100` | Gnosis | `cWAUDC/cWUSDT` | `0x41078C1DB4Ed26ecF19142feBaA9dCdE0b04e210` | `(1000000000 [1e9], 1000000000 [1e9], 1776457105 [1.776e9])` | `complete` | +| `100` | Gnosis | `cWEURC/cWUSDC` | `0xFcf9feEF2bcF708cE2193fE8Ee33dA205610480D` | `(1000000000 [1e9], 1000000000 [1e9], 1776457110 [1.776e9])` | `complete` | +| `100` | Gnosis | `cWEURC/cWUSDT` | `0x24B9F12D143d16DdFC6D4eA135b8aC08009367a1` | `(1000000000 [1e9], 1000000000 [1e9], 1776457115 [1.776e9])` | `complete` | +| `100` | Gnosis | `cWGBPC/cWUSDC` | `0x86ee10F889dBAA74b640cFD318A07787DBDaaC9b` | `(1000000000 [1e9], 1000000000 [1e9], 1776457120 [1.776e9])` | `complete` | +| `100` | Gnosis | `cWGBPC/cWUSDT` | `0x67f36f25Af15910B5bAE08B1b9B6273158E8eA77` | `(1000000000 [1e9], 1000000000 [1e9], 1776457125 [1.776e9])` | `complete` | +| `137` | Polygon | `cWAUDC/cWUSDC` | `0x6ffa939d75bd6affe019705f2c9240f97975ffa0` | `(1000000000 [1e9], 1000000000 [1e9], 1776460210 [1.776e9])` | `complete` | +| `137` | Polygon | `cWAUDC/cWUSDT` | `0x526a3a38b77d199e8fd07f37597f9ca0fa5a87cd` | `(1000000000 [1e9], 1000000000 [1e9], 1776460214 [1.776e9])` | `complete` | +| `137` | Polygon | `cWEURC/cWUSDC` | `0xd5907a692f7e8f650fc5feb8ebb3196fea2069a3` | `(1000000000 [1e9], 1000000000 [1e9], 1776460220 [1.776e9])` | `complete` | +| `137` | Polygon | `cWEURC/cWUSDT` | `0x3292c0ed9eec0443635367717047876fe3cdb514` | `(1000000000 [1e9], 1000000000 [1e9], 1776460224 [1.776e9])` | `complete` | +| `137` | Polygon | `cWGBPC/cWUSDC` | `0x52786e752be5fb1b18e86959f87b7a59e2c6de6d` | `(1000000000 [1e9], 1000000000 [1e9], 1776460228 [1.776e9])` | `complete` | +| `137` | Polygon | `cWGBPC/cWUSDT` | `0x1b6e8484db0cd9c00d39e457c2d126c8983f5390` | `(1000000000 [1e9], 1000000000 [1e9], 1776460232 [1.776e9])` | `complete` | +| `8453` | Base | `cWAUDC/cWUSDC` | `0x8e0C0Fa5F7227799bf0cFc9E4129f2c9133230f6` | `(1000000000 [1e9], 1000000000 [1e9], 1776478205 [1.776e9])` | `complete` | +| `8453` | Base | `cWAUDC/cWUSDT` | `0xB191eC6D99CeA5aAf557193224b32453F27BBB9f` | `(1000000000 [1e9], 1000000000 [1e9], 1776478249 [1.776e9])` | `complete` | +| `8453` | Base | `cWEURC/cWUSDC` | `0x71C979435fDdF15EaF84df4C5191e1b285387758` | `(1000000000 [1e9], 1000000000 [1e9], 1776478207 [1.776e9])` | `complete` | +| `8453` | Base | `cWEURC/cWUSDT` | `0x56b54646C559569060435EAC2C3c70346Fa7D849` | `(1000000000 [1e9], 1000000000 [1e9], 1776478253 [1.776e9])` | `complete` | +| `8453` | Base | `cWGBPC/cWUSDC` | `0x9b40B0a5EEC3B510d3CdeAe186F9ed27A22BF88a` | `(1000000000 [1e9], 1000000000 [1e9], 1776478187 [1.776e9])` | `complete` | +| `8453` | Base | `cWGBPC/cWUSDT` | `0xe5Cf1c4d333992D5a4ceed65d83123398D78594c` | `(1000000000 [1e9], 1000000000 [1e9], 1776478209 [1.776e9])` | `complete` | +| `42161` | Arbitrum One | `cWAUDC/cWUSDC` | `0x51fB15df509a8F1dA3813CA810c1d667DeC119f6` | `(1000000000 [1e9], 1000000000 [1e9], 1776478295 [1.776e9])` | `complete` | +| `42161` | Arbitrum One | `cWAUDC/cWUSDT` | `0x2Bfd8A45852Bd81cd787a4081A6528b00cf00A79` | `(1000000000 [1e9], 1000000000 [1e9], 1776478296 [1.776e9])` | `complete` | +| `42161` | Arbitrum One | `cWEURC/cWUSDC` | `0x443FC120dB180265cF36A30f6eAbB7459106e570` | `(1000000000 [1e9], 1000000000 [1e9], 1776478298 [1.776e9])` | `complete` | +| `42161` | Arbitrum One | `cWEURC/cWUSDT` | `0xd55ECf3eB5680351e0f78bB305E67BFb4875B966` | `(1000000000 [1e9], 1000000000 [1e9], 1776478299 [1.776e9])` | `complete` | +| `42161` | Arbitrum One | `cWGBPC/cWUSDC` | `0x907a97eAD9B490208fCB1d43ddB8C2D1015581dC` | `(1000000000 [1e9], 1000000000 [1e9], 1776478300 [1.776e9])` | `complete` | +| `42161` | Arbitrum One | `cWGBPC/cWUSDT` | `0x65dF46603cDCd5862Caf5935DE5ee44B3756B749` | `(1000000000 [1e9], 1000000000 [1e9], 1776478301 [1.776e9])` | `complete` | +| `42220` | Celo | `cWAUDC/cWUSDC` | `0x2d9D8e2E0642C01B600BA9F953ca5D49abFC391E` | `(1000000000 [1e9], 1000000000 [1e9], 1776478385 [1.776e9])` | `complete` | +| `42220` | Celo | `cWAUDC/cWUSDT` | `0x4a1ED0471f1832264A704D0998703d1da3E6cb84` | `(1000000000 [1e9], 1000000000 [1e9], 1776478388 [1.776e9])` | `complete` | +| `42220` | Celo | `cWEURC/cWUSDC` | `0xFF0bFD8A374Eb1Ec24F27500a76104Ae3B463D80` | `(1000000000 [1e9], 1000000000 [1e9], 1776478392 [1.776e9])` | `complete` | +| `42220` | Celo | `cWEURC/cWUSDT` | `0xF93EBA21A0672835415f873e119789Ff27A21ebF` | `(1000000000 [1e9], 1000000000 [1e9], 1776478395 [1.776e9])` | `complete` | +| `42220` | Celo | `cWGBPC/cWUSDC` | `0xb3dDd766CE76d07435B197E0857ea80661d20Ed7` | `(1000000000 [1e9], 1000000000 [1e9], 1776478399 [1.776e9])` | `complete` | +| `42220` | Celo | `cWGBPC/cWUSDT` | `0xc6187BEfbC1b8cC827049AC4a5Cb05BC023c48De` | `(1000000000 [1e9], 1000000000 [1e9], 1776478402 [1.776e9])` | `complete` | +| `43114` | Avalanche C-Chain | `cWAUDC/cWUSDC` | `0xc3d2eAE75b859c151825A49481187885c6c4C424` | `(1000000000 [1e9], 1000000000 [1e9], 1776478469 [1.776e9])` | `complete` | +| `43114` | Avalanche C-Chain | `cWAUDC/cWUSDT` | `0x971881b0BCd3ec4C051f8316e22Ad31E8Af291C4` | `(1000000000 [1e9], 1000000000 [1e9], 1776478472 [1.776e9])` | `complete` | +| `43114` | Avalanche C-Chain | `cWEURC/cWUSDC` | `0x640e566c107Ca4f6A10a2bD37E919aD011e7627e` | `(1000000000 [1e9], 1000000000 [1e9], 1776478475 [1.776e9])` | `complete` | +| `43114` | Avalanche C-Chain | `cWEURC/cWUSDT` | `0x633A3686a5b99E04C0363aA9233a2FD83554589c` | `(1000000000 [1e9], 1000000000 [1e9], 1776478477 [1.776e9])` | `complete` | +| `43114` | Avalanche C-Chain | `cWGBPC/cWUSDC` | `0x94090e498dC3cdA064039fe26Ede0dB19e6a1EC3` | `(1000000000 [1e9], 1000000000 [1e9], 1776478480 [1.776e9])` | `complete` | +| `43114` | Avalanche C-Chain | `cWGBPC/cWUSDT` | `0xF9A545fF323fbe8c78c21BDeA191D187854F8Ed1` | `(1000000000 [1e9], 1000000000 [1e9], 1776478483 [1.776e9])` | `complete` | + +## Explorer Publication + +**Status:** `blocked` + +Deployment and liquidity rollout is complete, but explorer publication is not fully complete. + +- Current local CompliantWrappedToken artifact does not exactly match deployed runtime bytecode. +- forge verify-contract cannot use the historical deploy profile directly in this environment. +- Some explorer backends require paid API access or manual submission paths. + diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_PASTE_PACK.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_PASTE_PACK.md new file mode 100644 index 00000000..d5d92f90 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_PASTE_PACK.md @@ -0,0 +1,9231 @@ +# Mr. Promod Uniswap V2 Phase 2 Wave 2 Operator Paste Pack + +- Generated: `2026-04-18T11:56:50Z` +- Purpose: flat paste-ready operator pack for every phase-2 wave-2 wrapped-mesh pair. + +| Order | Chain | Network | Pair | Amount Envs | +|---|---|---|---|---| +| `1` | `1` | Ethereum Mainnet | `cWBTC/cWUSDC` | `PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW` | +| `2` | `1` | Ethereum Mainnet | `cWBTC/cWUSDT` | `PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW` | +| `3` | `1` | Ethereum Mainnet | `cWCADC/cWUSDC` | `PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW` | +| `4` | `1` | Ethereum Mainnet | `cWCADC/cWUSDT` | `PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW` | +| `5` | `1` | Ethereum Mainnet | `cWCHFC/cWUSDC` | `PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW` | +| `6` | `1` | Ethereum Mainnet | `cWCHFC/cWUSDT` | `PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW` | +| `7` | `1` | Ethereum Mainnet | `cWEURT/cWUSDC` | `PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW` | +| `8` | `1` | Ethereum Mainnet | `cWEURT/cWUSDT` | `PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW` | +| `9` | `1` | Ethereum Mainnet | `cWGBPT/cWUSDC` | `PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW` | +| `10` | `1` | Ethereum Mainnet | `cWGBPT/cWUSDT` | `PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW` | +| `11` | `1` | Ethereum Mainnet | `cWJPYC/cWUSDC` | `PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW` | +| `12` | `1` | Ethereum Mainnet | `cWJPYC/cWUSDT` | `PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW` | +| `13` | `1` | Ethereum Mainnet | `cWXAUC/cWUSDC` | `PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW` | +| `14` | `1` | Ethereum Mainnet | `cWXAUC/cWUSDT` | `PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW` | +| `15` | `1` | Ethereum Mainnet | `cWXAUT/cWUSDC` | `PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW` | +| `16` | `1` | Ethereum Mainnet | `cWXAUT/cWUSDT` | `PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW` | +| `17` | `10` | Optimism | `cWBTC/cWUSDC` | `PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW` | +| `18` | `10` | Optimism | `cWBTC/cWUSDT` | `PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW` | +| `19` | `10` | Optimism | `cWCADC/cWUSDC` | `PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW` | +| `20` | `10` | Optimism | `cWCADC/cWUSDT` | `PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW` | +| `21` | `10` | Optimism | `cWCHFC/cWUSDC` | `PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW` | +| `22` | `10` | Optimism | `cWCHFC/cWUSDT` | `PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW` | +| `23` | `10` | Optimism | `cWEURT/cWUSDC` | `PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW` | +| `24` | `10` | Optimism | `cWEURT/cWUSDT` | `PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW` | +| `25` | `10` | Optimism | `cWGBPT/cWUSDC` | `PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW` | +| `26` | `10` | Optimism | `cWGBPT/cWUSDT` | `PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW` | +| `27` | `10` | Optimism | `cWJPYC/cWUSDC` | `PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW` | +| `28` | `10` | Optimism | `cWJPYC/cWUSDT` | `PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW` | +| `29` | `10` | Optimism | `cWXAUC/cWUSDC` | `PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW` | +| `30` | `10` | Optimism | `cWXAUC/cWUSDT` | `PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW` | +| `31` | `10` | Optimism | `cWXAUT/cWUSDC` | `PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW` | +| `32` | `10` | Optimism | `cWXAUT/cWUSDT` | `PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW` | +| `33` | `25` | Cronos | `cWBTC/cWUSDC` | `PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW` | +| `34` | `25` | Cronos | `cWBTC/cWUSDT` | `PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW` | +| `35` | `25` | Cronos | `cWCADC/cWUSDC` | `PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW` | +| `36` | `25` | Cronos | `cWCADC/cWUSDT` | `PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW` | +| `37` | `25` | Cronos | `cWCHFC/cWUSDC` | `PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW` | +| `38` | `25` | Cronos | `cWCHFC/cWUSDT` | `PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW` | +| `39` | `25` | Cronos | `cWEURT/cWUSDC` | `PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW` | +| `40` | `25` | Cronos | `cWEURT/cWUSDT` | `PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW` | +| `41` | `25` | Cronos | `cWGBPT/cWUSDC` | `PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW` | +| `42` | `25` | Cronos | `cWGBPT/cWUSDT` | `PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW` | +| `43` | `25` | Cronos | `cWJPYC/cWUSDC` | `PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW` | +| `44` | `25` | Cronos | `cWJPYC/cWUSDT` | `PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW` | +| `45` | `25` | Cronos | `cWXAUC/cWUSDC` | `PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW` | +| `46` | `25` | Cronos | `cWXAUC/cWUSDT` | `PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW` | +| `47` | `25` | Cronos | `cWXAUT/cWUSDC` | `PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW` | +| `48` | `25` | Cronos | `cWXAUT/cWUSDT` | `PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW` | +| `49` | `56` | BSC (BNB Chain) | `cWAUSDT/cWUSDC` | `PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW` | +| `50` | `56` | BSC (BNB Chain) | `cWAUSDT/cWUSDT` | `PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW` | +| `51` | `56` | BSC (BNB Chain) | `cWBTC/cWUSDC` | `PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW` | +| `52` | `56` | BSC (BNB Chain) | `cWBTC/cWUSDT` | `PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW` | +| `53` | `56` | BSC (BNB Chain) | `cWCADC/cWUSDC` | `PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW` | +| `54` | `56` | BSC (BNB Chain) | `cWCADC/cWUSDT` | `PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW` | +| `55` | `56` | BSC (BNB Chain) | `cWCHFC/cWUSDC` | `PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW` | +| `56` | `56` | BSC (BNB Chain) | `cWCHFC/cWUSDT` | `PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW` | +| `57` | `56` | BSC (BNB Chain) | `cWEURT/cWUSDC` | `PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW` | +| `58` | `56` | BSC (BNB Chain) | `cWEURT/cWUSDT` | `PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW` | +| `59` | `56` | BSC (BNB Chain) | `cWGBPT/cWUSDC` | `PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW` | +| `60` | `56` | BSC (BNB Chain) | `cWGBPT/cWUSDT` | `PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW` | +| `61` | `56` | BSC (BNB Chain) | `cWJPYC/cWUSDC` | `PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW` | +| `62` | `56` | BSC (BNB Chain) | `cWJPYC/cWUSDT` | `PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW` | +| `63` | `56` | BSC (BNB Chain) | `cWUSDW/cWUSDC` | `PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW` | +| `64` | `56` | BSC (BNB Chain) | `cWUSDW/cWUSDT` | `PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW` | +| `65` | `56` | BSC (BNB Chain) | `cWXAUC/cWUSDC` | `PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW` | +| `66` | `56` | BSC (BNB Chain) | `cWXAUC/cWUSDT` | `PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW` | +| `67` | `56` | BSC (BNB Chain) | `cWXAUT/cWUSDC` | `PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW` | +| `68` | `56` | BSC (BNB Chain) | `cWXAUT/cWUSDT` | `PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW` | +| `69` | `100` | Gnosis Chain | `cWBTC/cWUSDC` | `PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW` | +| `70` | `100` | Gnosis Chain | `cWBTC/cWUSDT` | `PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW` | +| `71` | `100` | Gnosis Chain | `cWCADC/cWUSDC` | `PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW` | +| `72` | `100` | Gnosis Chain | `cWCADC/cWUSDT` | `PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW` | +| `73` | `100` | Gnosis Chain | `cWCHFC/cWUSDC` | `PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW` | +| `74` | `100` | Gnosis Chain | `cWCHFC/cWUSDT` | `PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW` | +| `75` | `100` | Gnosis Chain | `cWEURT/cWUSDC` | `PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW` | +| `76` | `100` | Gnosis Chain | `cWEURT/cWUSDT` | `PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW` | +| `77` | `100` | Gnosis Chain | `cWGBPT/cWUSDC` | `PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW` | +| `78` | `100` | Gnosis Chain | `cWGBPT/cWUSDT` | `PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW` | +| `79` | `100` | Gnosis Chain | `cWJPYC/cWUSDC` | `PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW` | +| `80` | `100` | Gnosis Chain | `cWJPYC/cWUSDT` | `PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW` | +| `81` | `100` | Gnosis Chain | `cWXAUC/cWUSDC` | `PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW` | +| `82` | `100` | Gnosis Chain | `cWXAUC/cWUSDT` | `PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW` | +| `83` | `100` | Gnosis Chain | `cWXAUT/cWUSDC` | `PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW` | +| `84` | `100` | Gnosis Chain | `cWXAUT/cWUSDT` | `PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW` | +| `85` | `137` | Polygon | `cWAUSDT/cWUSDC` | `PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW` | +| `86` | `137` | Polygon | `cWAUSDT/cWUSDT` | `PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW` | +| `87` | `137` | Polygon | `cWBTC/cWUSDC` | `PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW` | +| `88` | `137` | Polygon | `cWBTC/cWUSDT` | `PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW` | +| `89` | `137` | Polygon | `cWCADC/cWUSDC` | `PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW` | +| `90` | `137` | Polygon | `cWCADC/cWUSDT` | `PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW` | +| `91` | `137` | Polygon | `cWCHFC/cWUSDC` | `PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW` | +| `92` | `137` | Polygon | `cWCHFC/cWUSDT` | `PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW` | +| `93` | `137` | Polygon | `cWEURT/cWUSDC` | `PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW` | +| `94` | `137` | Polygon | `cWEURT/cWUSDT` | `PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW` | +| `95` | `137` | Polygon | `cWGBPT/cWUSDC` | `PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW` | +| `96` | `137` | Polygon | `cWGBPT/cWUSDT` | `PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW` | +| `97` | `137` | Polygon | `cWJPYC/cWUSDC` | `PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW` | +| `98` | `137` | Polygon | `cWJPYC/cWUSDT` | `PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW` | +| `99` | `137` | Polygon | `cWXAUC/cWUSDC` | `PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW` | +| `100` | `137` | Polygon | `cWXAUC/cWUSDT` | `PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW` | +| `101` | `137` | Polygon | `cWXAUT/cWUSDC` | `PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW` | +| `102` | `137` | Polygon | `cWXAUT/cWUSDT` | `PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW` | +| `103` | `8453` | Base | `cWBTC/cWUSDC` | `PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW` | +| `104` | `8453` | Base | `cWBTC/cWUSDT` | `PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW` | +| `105` | `8453` | Base | `cWCADC/cWUSDC` | `PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW` | +| `106` | `8453` | Base | `cWCADC/cWUSDT` | `PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW` | +| `107` | `8453` | Base | `cWCHFC/cWUSDC` | `PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW` | +| `108` | `8453` | Base | `cWCHFC/cWUSDT` | `PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW` | +| `109` | `8453` | Base | `cWEURT/cWUSDC` | `PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW` | +| `110` | `8453` | Base | `cWEURT/cWUSDT` | `PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW` | +| `111` | `8453` | Base | `cWGBPT/cWUSDC` | `PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW` | +| `112` | `8453` | Base | `cWGBPT/cWUSDT` | `PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW` | +| `113` | `8453` | Base | `cWJPYC/cWUSDC` | `PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW` | +| `114` | `8453` | Base | `cWJPYC/cWUSDT` | `PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW` | +| `115` | `8453` | Base | `cWXAUC/cWUSDC` | `PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW` | +| `116` | `8453` | Base | `cWXAUC/cWUSDT` | `PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW` | +| `117` | `8453` | Base | `cWXAUT/cWUSDC` | `PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW` | +| `118` | `8453` | Base | `cWXAUT/cWUSDT` | `PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW` | +| `119` | `42161` | Arbitrum One | `cWBTC/cWUSDC` | `PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW` | +| `120` | `42161` | Arbitrum One | `cWBTC/cWUSDT` | `PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW` | +| `121` | `42161` | Arbitrum One | `cWCADC/cWUSDC` | `PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW` | +| `122` | `42161` | Arbitrum One | `cWCADC/cWUSDT` | `PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW` | +| `123` | `42161` | Arbitrum One | `cWCHFC/cWUSDC` | `PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW` | +| `124` | `42161` | Arbitrum One | `cWCHFC/cWUSDT` | `PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW` | +| `125` | `42161` | Arbitrum One | `cWEURT/cWUSDC` | `PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW` | +| `126` | `42161` | Arbitrum One | `cWEURT/cWUSDT` | `PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW` | +| `127` | `42161` | Arbitrum One | `cWGBPT/cWUSDC` | `PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW` | +| `128` | `42161` | Arbitrum One | `cWGBPT/cWUSDT` | `PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW` | +| `129` | `42161` | Arbitrum One | `cWJPYC/cWUSDC` | `PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW` | +| `130` | `42161` | Arbitrum One | `cWJPYC/cWUSDT` | `PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW` | +| `131` | `42161` | Arbitrum One | `cWXAUC/cWUSDC` | `PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW` | +| `132` | `42161` | Arbitrum One | `cWXAUC/cWUSDT` | `PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW` | +| `133` | `42161` | Arbitrum One | `cWXAUT/cWUSDC` | `PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW` | +| `134` | `42161` | Arbitrum One | `cWXAUT/cWUSDT` | `PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW` | +| `135` | `42220` | Celo | `cWAUSDT/cWUSDC` | `PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW` | +| `136` | `42220` | Celo | `cWAUSDT/cWUSDT` | `PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW` | +| `137` | `42220` | Celo | `cWBTC/cWUSDC` | `PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW` | +| `138` | `42220` | Celo | `cWBTC/cWUSDT` | `PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW` | +| `139` | `42220` | Celo | `cWCADC/cWUSDC` | `PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW` | +| `140` | `42220` | Celo | `cWCADC/cWUSDT` | `PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW` | +| `141` | `42220` | Celo | `cWCHFC/cWUSDC` | `PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW` | +| `142` | `42220` | Celo | `cWCHFC/cWUSDT` | `PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW` | +| `143` | `42220` | Celo | `cWEURT/cWUSDC` | `PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW` | +| `144` | `42220` | Celo | `cWEURT/cWUSDT` | `PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW` | +| `145` | `42220` | Celo | `cWGBPT/cWUSDC` | `PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW` | +| `146` | `42220` | Celo | `cWGBPT/cWUSDT` | `PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW` | +| `147` | `42220` | Celo | `cWJPYC/cWUSDC` | `PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW` | +| `148` | `42220` | Celo | `cWJPYC/cWUSDT` | `PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW` | +| `149` | `42220` | Celo | `cWUSDW/cWUSDC` | `PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW` | +| `150` | `42220` | Celo | `cWUSDW/cWUSDT` | `PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW` | +| `151` | `42220` | Celo | `cWXAUC/cWUSDC` | `PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW` | +| `152` | `42220` | Celo | `cWXAUC/cWUSDT` | `PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW` | +| `153` | `42220` | Celo | `cWXAUT/cWUSDC` | `PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW` | +| `154` | `42220` | Celo | `cWXAUT/cWUSDT` | `PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW` | +| `155` | `43114` | Avalanche C-Chain | `cWAUSDT/cWUSDC` | `PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW` | +| `156` | `43114` | Avalanche C-Chain | `cWAUSDT/cWUSDT` | `PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW` | +| `157` | `43114` | Avalanche C-Chain | `cWBTC/cWUSDC` | `PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW` | +| `158` | `43114` | Avalanche C-Chain | `cWBTC/cWUSDT` | `PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW` | +| `159` | `43114` | Avalanche C-Chain | `cWCADC/cWUSDC` | `PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW` | +| `160` | `43114` | Avalanche C-Chain | `cWCADC/cWUSDT` | `PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW` | +| `161` | `43114` | Avalanche C-Chain | `cWCHFC/cWUSDC` | `PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW` | +| `162` | `43114` | Avalanche C-Chain | `cWCHFC/cWUSDT` | `PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW` | +| `163` | `43114` | Avalanche C-Chain | `cWEURT/cWUSDC` | `PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW` | +| `164` | `43114` | Avalanche C-Chain | `cWEURT/cWUSDT` | `PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW` | +| `165` | `43114` | Avalanche C-Chain | `cWGBPT/cWUSDC` | `PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW` | +| `166` | `43114` | Avalanche C-Chain | `cWGBPT/cWUSDT` | `PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW` | +| `167` | `43114` | Avalanche C-Chain | `cWJPYC/cWUSDC` | `PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW` | +| `168` | `43114` | Avalanche C-Chain | `cWJPYC/cWUSDT` | `PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW` | +| `169` | `43114` | Avalanche C-Chain | `cWUSDW/cWUSDC` | `PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW` | +| `170` | `43114` | Avalanche C-Chain | `cWUSDW/cWUSDT` | `PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW` | +| `171` | `43114` | Avalanche C-Chain | `cWXAUC/cWUSDC` | `PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW` | +| `172` | `43114` | Avalanche C-Chain | `cWXAUC/cWUSDT` | `PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW` | +| `173` | `43114` | Avalanche C-Chain | `cWXAUT/cWUSDC` | `PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW` | +| `174` | `43114` | Avalanche C-Chain | `cWXAUT/cWUSDT` | `PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW` | + +## Flat Paste Pack + +### Chain `1` — Ethereum Mainnet — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `1` — Ethereum Mainnet — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `10` — Optimism — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `25` — Cronos — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWAUSDT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWAUSDT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWUSDW/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWUSDW/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `56` — BSC (BNB Chain) — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `100` — Gnosis Chain — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWAUSDT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWAUSDT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `137` — Polygon — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `8453` — Base — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42161` — Arbitrum One — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWAUSDT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWAUSDT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWUSDW/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWUSDW/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `42220` — Celo — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWAUSDT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWAUSDT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWBTC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWBTC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWCADC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWCADC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWCHFC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWCHFC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWEURT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWEURT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWGBPT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWGBPT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWJPYC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWJPYC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWUSDW/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWUSDW/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWXAUC/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWXAUC/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWXAUT/cWUSDC` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +### Chain `43114` — Avalanche C-Chain — `cWXAUT/cWUSDT` + +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` + +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` + +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_SEQUENCE.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_SEQUENCE.md new file mode 100644 index 00000000..7dc2457b --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_SEQUENCE.md @@ -0,0 +1,9190 @@ +# Mr. Promod Uniswap V2 Phase 2 Wave 2 Operator Sequence + +- Generated: `2026-04-18T11:55:19Z` +- Program: `promod-uniswap-v2-phase2-wave2-operator-sequence` +- Purpose: exact phase-2 wave-2 operator sequence for the remaining `cW*` wrapped-mesh rollout after wave 1. +- Funding rule: each pair uses explicit raw amount env vars because BTC, gold, FX, and fiat rails do not share a safe default seed size. +- Total wave-2 pairs: `174` + +| Chain | Network | Remaining Assets | Wave 2 Pair Count | RPC Keys | Required Env | +|---|---|---|---:|---|---| +| `1` | Ethereum Mainnet | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `16` | `ETHEREUM_MAINNET_RPC` | `CHAIN_1_UNISWAP_V2_FACTORY`, `CHAIN_1_UNISWAP_V2_ROUTER`, `CHAIN_1_UNISWAP_V2_START_BLOCK` | +| `10` | Optimism | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `16` | `OPTIMISM_RPC_URL`, `OPTIMISM_MAINNET_RPC` | `CHAIN_10_UNISWAP_V2_FACTORY`, `CHAIN_10_UNISWAP_V2_ROUTER`, `CHAIN_10_UNISWAP_V2_START_BLOCK` | +| `25` | Cronos | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `16` | `CRONOS_RPC_URL`, `CRONOS_MAINNET_RPC` | `CHAIN_25_UNISWAP_V2_FACTORY`, `CHAIN_25_UNISWAP_V2_ROUTER`, `CHAIN_25_UNISWAP_V2_START_BLOCK` | +| `56` | BSC (BNB Chain) | `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | `20` | `BSC_RPC_URL`, `BSC_MAINNET_RPC` | `CHAIN_56_UNISWAP_V2_FACTORY`, `CHAIN_56_UNISWAP_V2_ROUTER`, `CHAIN_56_UNISWAP_V2_START_BLOCK` | +| `100` | Gnosis Chain | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `16` | `GNOSIS_RPC_URL`, `GNOSIS_MAINNET_RPC`, `GNOSIS_RPC` | `CHAIN_100_UNISWAP_V2_FACTORY`, `CHAIN_100_UNISWAP_V2_ROUTER`, `CHAIN_100_UNISWAP_V2_START_BLOCK` | +| `137` | Polygon | `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `18` | `POLYGON_MAINNET_RPC`, `POLYGON_RPC_URL` | `CHAIN_137_UNISWAP_V2_FACTORY`, `CHAIN_137_UNISWAP_V2_ROUTER`, `CHAIN_137_UNISWAP_V2_START_BLOCK` | +| `8453` | Base | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `16` | `BASE_RPC_URL`, `BASE_MAINNET_RPC` | `CHAIN_8453_UNISWAP_V2_FACTORY`, `CHAIN_8453_UNISWAP_V2_ROUTER`, `CHAIN_8453_UNISWAP_V2_START_BLOCK` | +| `42161` | Arbitrum One | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `16` | `ARBITRUM_RPC_URL`, `ARBITRUM_MAINNET_RPC` | `CHAIN_42161_UNISWAP_V2_FACTORY`, `CHAIN_42161_UNISWAP_V2_ROUTER`, `CHAIN_42161_UNISWAP_V2_START_BLOCK` | +| `42220` | Celo | `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | `20` | `CELO_RPC_URL`, `CELO_MAINNET_RPC`, `CELO_RPC` | `CHAIN_42220_UNISWAP_V2_FACTORY`, `CHAIN_42220_UNISWAP_V2_ROUTER`, `CHAIN_42220_UNISWAP_V2_START_BLOCK` | +| `43114` | Avalanche C-Chain | `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | `20` | `AVALANCHE_RPC_URL`, `AVALANCHE_MAINNET_RPC` | `CHAIN_43114_UNISWAP_V2_FACTORY`, `CHAIN_43114_UNISWAP_V2_ROUTER`, `CHAIN_43114_UNISWAP_V2_START_BLOCK` | + +## Per-Chain Sequence + +### Chain `1` — Ethereum Mainnet + +- Bridge available: `True` +- Remaining wave-2 assets: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Wave-2 pair count: `16` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000001`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000001`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0x0F91C5E6Ddd46403746aAC970D05d70FFe404780`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0x0F91C5E6Ddd46403746aAC970D05d70FFe404780`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x07EEd0D7dD40984e47B9D3a3bdded1c536435582`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x07EEd0D7dD40984e47B9D3a3bdded1c536435582`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0x572Be0fa8CA0534d642A567CEDb398B771D8a715`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0x572Be0fa8CA0534d642A567CEDb398B771D8a715`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0xACE1DBF857549a11aF1322e1f91F2F64b029c906`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0xACE1DBF857549a11aF1322e1f91F2F64b029c906`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `10` — Optimism + +- Bridge available: `True` +- Remaining wave-2 assets: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Wave-2 pair count: `16` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000000a`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000000a`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0x9f6d2578003fe04e58a9819a4943732f2a203a61`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0x9f6d2578003fe04e58a9819a4943732f2a203a61`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x6f521cd9fcf7884cd4e9486c7790e818638e09dd`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x6f521cd9fcf7884cd4e9486c7790e818638e09dd`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x456373d095d6b9260f01709f93fccf1d8aa14d11`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x456373d095d6b9260f01709f93fccf1d8aa14d11`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0xddc4063f770f7c49d00b5a10fb552e922aa39b2c`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0xddc4063f770f7c49d00b5a10fb552e922aa39b2c`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0x145e8e8c49b6a021969dd9d2c01c8fea44374f61`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0x145e8e8c49b6a021969dd9d2c01c8fea44374f61`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `25` — Cronos + +- Bridge available: `True` +- Remaining wave-2 assets: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Wave-2 pair count: `16` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000019`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000019`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0x32aD687F24F77bF8C86605c202c829163Ac5Ab36`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0x32aD687F24F77bF8C86605c202c829163Ac5Ab36`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0xB55F49D6316322d5caA96D34C6e4b1003BD3E670`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0xB55F49D6316322d5caA96D34C6e4b1003BD3E670`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x9f833b4f1012F52eb3317b09922a79c6EdFca77D`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x9f833b4f1012F52eb3317b09922a79c6EdFca77D`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0xBb58fa16bAc8E789f09C14243adEE6480D8213A2`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0xBb58fa16bAc8E789f09C14243adEE6480D8213A2`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0xf1B771c95573113E993374c0c7cB2dc1a7908B12`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0xf1B771c95573113E993374c0c7cB2dc1a7908B12`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `56` — BSC (BNB Chain) + +- Bridge available: `True` +- Remaining wave-2 assets: `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` +- Wave-2 pair count: `20` + +#### `cWAUSDT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW` +- Token addresses: `cWAUSDT=0xe1a51Bc037a79AB36767561B147eb41780124934`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUSDT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW` +- Token addresses: `cWAUSDT=0xe1a51Bc037a79AB36767561B147eb41780124934`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000038`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000038`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0x9AE7a6B311584D60Fa93f973950d609061875775`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0x9AE7a6B311584D60Fa93f973950d609061875775`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWUSDW/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW` +- Token addresses: `cWUSDW=0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWUSDW/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW` +- Token addresses: `cWUSDW=0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0xCB145bA9A370681e3545F60e55621eBf218B1031`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0xCB145bA9A370681e3545F60e55621eBf218B1031`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0x73E0CF8BF861D376B3a4C87c136F975027f045ff`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0x73E0CF8BF861D376B3a4C87c136F975027f045ff`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `100` — Gnosis Chain + +- Bridge available: `True` +- Remaining wave-2 assets: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Wave-2 pair count: `16` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000064`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000064`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0xa7133c78e0ec74503a5941bcbd44257615b6b4f6`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0xa7133c78e0ec74503a5941bcbd44257615b6b4f6`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0x46d90d7947f1139477c206c39268923b99cf09e4`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0x46d90d7947f1139477c206c39268923b99cf09e4`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x9f6d2578003fe04e58a9819a4943732f2a203a61`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x9f6d2578003fe04e58a9819a4943732f2a203a61`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x145e8e8c49b6a021969dd9d2c01c8fea44374f61`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x145e8e8c49b6a021969dd9d2c01c8fea44374f61`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0xc6189d404dc60cae7b48e2190e44770a03193e5f`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0xc6189d404dc60cae7b48e2190e44770a03193e5f`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `137` — Polygon + +- Bridge available: `True` +- Remaining wave-2 assets: `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Wave-2 pair count: `18` + +#### `cWAUSDT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW` +- Token addresses: `cWAUSDT=0xf12e262F85107df26741726b074606CaFa24AAe7`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUSDT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW` +- Token addresses: `cWAUSDT=0xf12e262F85107df26741726b074606CaFa24AAe7`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000089`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000089`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0xc9750828124D4c10e7a6f4B655cA8487bD3842EB`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0xc9750828124D4c10e7a6f4B655cA8487bD3842EB`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0x328Cd365Bb35524297E68ED28c6fF2C9557d1363`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0x328Cd365Bb35524297E68ED28c6fF2C9557d1363`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0x9e6044d730d4183bF7a666293d257d035Fba6d44`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0x9e6044d730d4183bF7a666293d257d035Fba6d44`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `8453` — Base + +- Bridge available: `True` +- Remaining wave-2 assets: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Wave-2 pair count: `16` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000002105`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c000000000000000000000000000000002105`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0xdc383c489533a4dd9a6bd3007386e25d5078b878`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0xdc383c489533a4dd9a6bd3007386e25d5078b878`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0xc1535e88578d984f12eab55863376b8d8b9fb05a`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0xc1535e88578d984f12eab55863376b8d8b9fb05a`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x73e0cf8bf861d376b3a4c87c136f975027f045ff`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x73e0cf8bf861d376b3a4c87c136f975027f045ff`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x22b98130ab4d9c355512b25ade4c35e75a4e7e89`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x22b98130ab4d9c355512b25ade4c35e75a4e7e89`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x29828e9ab2057cd3df3c9211455ae1f76e53d2af`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x29828e9ab2057cd3df3c9211455ae1f76e53d2af`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0x7e4b4682453bcce19ec903fb69153d3031986bc4`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0x7e4b4682453bcce19ec903fb69153d3031986bc4`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `42161` — Arbitrum One + +- Bridge available: `True` +- Remaining wave-2 assets: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` +- Wave-2 pair count: `16` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a4b1`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a4b1`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0x7e4b4682453bcce19ec903fb69153d3031986bc4`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0x7e4b4682453bcce19ec903fb69153d3031986bc4`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x22b98130ab4d9c355512b25ade4c35e75a4e7e89`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x22b98130ab4d9c355512b25ade4c35e75a4e7e89`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x29828e9ab2057cd3df3c9211455ae1f76e53d2af`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x29828e9ab2057cd3df3c9211455ae1f76e53d2af`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0xdc383c489533a4dd9a6bd3007386e25d5078b878`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0xdc383c489533a4dd9a6bd3007386e25d5078b878`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0xa7762b63c4871581885ad17c5714ebb286a7480b`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0xa7762b63c4871581885ad17c5714ebb286a7480b`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0x66568899ffe8f00b25dc470e878b65a478994e76`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0x66568899ffe8f00b25dc470e878b65a478994e76`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `42220` — Celo + +- Bridge available: `True` +- Remaining wave-2 assets: `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` +- Wave-2 pair count: `20` + +#### `cWAUSDT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW` +- Token addresses: `cWAUSDT=0xC158b6cD3A3088C52F797D41f5Aa02825361629e`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUSDT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW` +- Token addresses: `cWAUSDT=0xC158b6cD3A3088C52F797D41f5Aa02825361629e`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a4ec`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a4ec`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0x0C242b513008Cd49C89078F5aFb237A3112251EB`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0x0C242b513008Cd49C89078F5aFb237A3112251EB`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0x8142BA530B08f3950128601F00DaaA678213DFdf`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0x8142BA530B08f3950128601F00DaaA678213DFdf`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWUSDW/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW` +- Token addresses: `cWUSDW=0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWUSDW/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW` +- Token addresses: `cWUSDW=0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0x61D642979eD75c1325f35b9275C5A7FE97F22451`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0x61D642979eD75c1325f35b9275C5A7FE97F22451`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0x30751782486eed825187C1EAe5DE4b4baD428AaE`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0x30751782486eed825187C1EAe5DE4b4baD428AaE`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` + +### Chain `43114` — Avalanche C-Chain + +- Bridge available: `True` +- Remaining wave-2 assets: `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` +- Wave-2 pair count: `20` + +#### `cWAUSDT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW` +- Token addresses: `cWAUSDT=0xff3084410A732231472Ee9f93F5855dA89CC5254`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWAUSDT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW` +- Token addresses: `cWAUSDT=0xff3084410A732231472Ee9f93F5855dA89CC5254`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a86a`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWBTC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW` +- Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a86a`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW` +- Token addresses: `cWCADC=0x1872e033b30f3ce0498847926857433e0146394e`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCADC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW` +- Token addresses: `cWCADC=0x1872e033b30f3ce0498847926857433e0146394e`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW` +- Token addresses: `cWCHFC=0xc2fa05f12a75ac84ea778af9d6935ca807275e55`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWCHFC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW` +- Token addresses: `cWCHFC=0xc2fa05f12a75ac84ea778af9d6935ca807275e55`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW` +- Token addresses: `cWEURT=0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWEURT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW` +- Token addresses: `cWEURT=0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW` +- Token addresses: `cWGBPT=0x4611d3424e059392a52b957e508273bc761c80f2`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWGBPT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW` +- Token addresses: `cWGBPT=0x4611d3424e059392a52b957e508273bc761c80f2`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW` +- Token addresses: `cWJPYC=0x3714b1a312e0916c7dcdc4edf480fc0339e59a59`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWJPYC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW` +- Token addresses: `cWJPYC=0x3714b1a312e0916c7dcdc4edf480fc0339e59a59`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWUSDW/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW` +- Token addresses: `cWUSDW=0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWUSDW/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW` +- Token addresses: `cWUSDW=0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW` +- Token addresses: `cWXAUC=0x4f95297c23d9f4a1032b1c6a2e553225cb175bee`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUC/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW` +- Token addresses: `cWXAUC=0x4f95297c23d9f4a1032b1c6a2e553225cb175bee`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDC` + +- Amount envs: `PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW` +- Token addresses: `cWXAUT=0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +#### `cWXAUT/cWUSDT` + +- Amount envs: `PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW` +- Token addresses: `cWXAUT=0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` +Probe: +```bash +cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" +``` +Create if absent: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi +``` +Deploy: +```bash +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +``` + +Post-pair refresh commands: +- `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` +- `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` +- `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` +- `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_SHELL_PASTE_PACK.sh b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_SHELL_PASTE_PACK.sh new file mode 100644 index 00000000..087e8f89 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_SHELL_PASTE_PACK.sh @@ -0,0 +1,6785 @@ +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000001" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ETHEREUM_MAINNET_RPC}" +export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" +export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" +export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000000a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${OPTIMISM_RPC_URL}" +export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000019" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CRONOS_RPC_URL}" +export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" +export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" +export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000038" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BSC_RPC_URL}" +export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" +export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000064" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${GNOSIS_RPC_URL}" +export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000000089" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${POLYGON_MAINNET_RPC}" +export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c000000000000000000000000000000002105" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${BASE_RPC_URL}" +export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" +export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${ARBITRUM_RPC_URL}" +export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" +export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${CELO_RPC_URL}" +export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" +export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" +export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" +if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then + cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" +fi + +source smom-dbis-138/scripts/load-env.sh >/dev/null +export RPC_URL="${AVALANCHE_RPC_URL}" +export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" +export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" +export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" +export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" +export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW:-}" +export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW:-}" +export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" +export DEADLINE="$(( $(date +%s) + 3600 ))" +test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" +cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" + +cast send "$ROUTER" \ + 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ + "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ + --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE_ORDER.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE_ORDER.md new file mode 100644 index 00000000..a1cf83f2 --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE_ORDER.md @@ -0,0 +1,25 @@ +# Mr. Promod Uniswap V2 Phase Order + +- Generated: `2026-04-18T02:19:49Z` +- Program: Mr. Promod Uniswap V2 cW Deep Liquidity Program +- Mainnet funding posture: `triple-rail-support` via `cWUSDC, cWUSDT, cWAUSDT` +- Purpose: strict rollout order for each chain: phase 1 core rail -> phase 2 full cW* wrapped mesh -> phase 3 settlement rails. + +| Chain | Network | Phase 1 Core Rail | Phase 2 Full cW* Wrapped Mesh | Phase 3 Settlement Rails | +|---|---|---|---|---| +| `1` | Ethereum Mainnet | `cWUSDT/cWUSDC` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC` | +| `10` | Optimism | `cWUSDT/cWUSDC` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC` | +| `25` | Cronos | `cWUSDT/cWUSDC` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT` | `cWUSDC/USDT`, `cWUSDT/USDT` | +| `56` | BSC | `cWUSDT/cWUSDC` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT` | `cWUSDC/USDT`, `cWUSDT/USDT`, `cWAUSDT/USDT` | +| `100` | Gnosis | `cWUSDT/cWUSDC` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC` | +| `137` | Polygon | `cWUSDT/cWUSDC` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC`, `cWAUSDT/USDC` | +| `8453` | Base | `cWUSDT/cWUSDC` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC` | +| `42161` | Arbitrum One | `cWUSDT/cWUSDC` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC` | +| `42220` | Celo | `cWUSDT/cWUSDC` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC`, `cWAUSDT/USDC` | +| `43114` | Avalanche C-Chain | `cWUSDT/cWUSDC` | `cWAUDC/cWUSDC`, `cWAUDC/cWUSDT`, `cWBTC/cWUSDC`, `cWBTC/cWUSDT`, `cWCADC/cWUSDC`, `cWCADC/cWUSDT`, `cWCHFC/cWUSDC`, `cWCHFC/cWUSDT`, `cWEURC/cWUSDC`, `cWEURC/cWUSDT` | `cWUSDC/USDC`, `cWUSDT/USDC`, `cWAUSDT/USDC` | + +## Phase Rules + +- Phase 1 opens the network with the standardized core rail `cWUSDT/cWUSDC` when available. +- Phase 2 expands the rest of the documented GRU v2 `cW*` assets into wrapped pairs against `cWUSDC` and `cWUSDT`. +- Phase 3 adds canonical settlement rails only after the wrapped mesh exists and the chain is ready to expose deeper stable exits. diff --git a/docs/03-deployment/PROMOD_UNISWAP_V2_PROMOTION_GATES.md b/docs/03-deployment/PROMOD_UNISWAP_V2_PROMOTION_GATES.md new file mode 100644 index 00000000..131cde2d --- /dev/null +++ b/docs/03-deployment/PROMOD_UNISWAP_V2_PROMOTION_GATES.md @@ -0,0 +1,34 @@ +# Mr. Promod Uniswap V2 Promotion Gates + +- Generated: `2026-04-18T02:19:49Z` +- Purpose: exact per-chain env vars and registry records required before the first live Uniswap V2 pool can be promoted. +- Mainnet funding posture: `triple-rail-support` via `cWUSDC, cWUSDT, cWAUSDT` +- Chains in scope: `10` +- Currently blocked: `6` + +## Global Rule + +- Promotion requires all of the following on the target chain: Uniswap V2 factory/router/start-block env set, indexer code support present, a live pair discoverable on-chain, and the pool address recorded in `deployment-status.json`. + +## Operator Table + +| Chain | Network | Code Support | Exact Env Vars To Fill | Registry Records To Fill | +|---|---|---|---|---| +| `1` | Ethereum Mainnet | `ready` | `CHAIN_1_UNISWAP_V2_FACTORY`, `CHAIN_1_UNISWAP_V2_ROUTER`, `CHAIN_1_UNISWAP_V2_START_BLOCK` | `chains[1].cwTokens.cWUSDC`, `chains[1].cwTokens.cWUSDT`, `chains[1].anchorAddresses.USDC` | +| `10` | Optimism | `ready` | `CHAIN_10_UNISWAP_V2_FACTORY`, `CHAIN_10_UNISWAP_V2_ROUTER`, `CHAIN_10_UNISWAP_V2_START_BLOCK` | `chains[10].cwTokens.cWUSDC`, `chains[10].cwTokens.cWUSDT`, `chains[10].anchorAddresses.USDC` | +| `25` | Cronos | `ready` | `CHAIN_25_UNISWAP_V2_FACTORY`, `CHAIN_25_UNISWAP_V2_ROUTER`, `CHAIN_25_UNISWAP_V2_START_BLOCK` | `chains[25].cwTokens.cWUSDC`, `chains[25].cwTokens.cWUSDT`, `chains[25].anchorAddresses.USDT` | +| `56` | BSC | `ready` | `CHAIN_56_UNISWAP_V2_FACTORY`, `CHAIN_56_UNISWAP_V2_ROUTER`, `CHAIN_56_UNISWAP_V2_START_BLOCK` | `chains[56].cwTokens.cWAUSDT`, `chains[56].cwTokens.cWUSDC`, `chains[56].cwTokens.cWUSDT` | +| `100` | Gnosis | `ready` | `CHAIN_100_UNISWAP_V2_FACTORY`, `CHAIN_100_UNISWAP_V2_ROUTER`, `CHAIN_100_UNISWAP_V2_START_BLOCK` | `chains[100].cwTokens.cWUSDC`, `chains[100].cwTokens.cWUSDT`, `chains[100].anchorAddresses.USDC` | +| `137` | Polygon | `ready` | `CHAIN_137_UNISWAP_V2_FACTORY`, `CHAIN_137_UNISWAP_V2_ROUTER`, `CHAIN_137_UNISWAP_V2_START_BLOCK` | `chains[137].cwTokens.cWAUSDT`, `chains[137].cwTokens.cWUSDC`, `chains[137].cwTokens.cWUSDT` | +| `8453` | Base | `ready` | `CHAIN_8453_UNISWAP_V2_FACTORY`, `CHAIN_8453_UNISWAP_V2_ROUTER`, `CHAIN_8453_UNISWAP_V2_START_BLOCK` | `chains[8453].cwTokens.cWUSDC`, `chains[8453].cwTokens.cWUSDT`, `chains[8453].anchorAddresses.USDC` | +| `42161` | Arbitrum One | `ready` | `CHAIN_42161_UNISWAP_V2_FACTORY`, `CHAIN_42161_UNISWAP_V2_ROUTER`, `CHAIN_42161_UNISWAP_V2_START_BLOCK` | `chains[42161].cwTokens.cWUSDC`, `chains[42161].cwTokens.cWUSDT`, `chains[42161].anchorAddresses.USDC` | +| `42220` | Celo | `ready` | `CHAIN_42220_UNISWAP_V2_FACTORY`, `CHAIN_42220_UNISWAP_V2_ROUTER`, `CHAIN_42220_UNISWAP_V2_START_BLOCK` | `chains[42220].cwTokens.cWAUSDT`, `chains[42220].cwTokens.cWUSDC`, `chains[42220].cwTokens.cWUSDT` | +| `43114` | Avalanche C-Chain | `ready` | `CHAIN_43114_UNISWAP_V2_FACTORY`, `CHAIN_43114_UNISWAP_V2_ROUTER`, `CHAIN_43114_UNISWAP_V2_START_BLOCK` | `chains[43114].cwTokens.cWAUSDT`, `chains[43114].cwTokens.cWUSDC`, `chains[43114].cwTokens.cWUSDT` | + +## First Live Pool Minimum Checklist + +1. Add `CHAIN__UNISWAP_V2_FACTORY`, `CHAIN__UNISWAP_V2_ROUTER`, and `CHAIN__UNISWAP_V2_START_BLOCK` for the target chain. +2. Extend token-aggregation code support for that chain if `code_support_status` is `blocked`. +3. Create the pool on-chain and record its `base`, `quote`, and `poolAddress` in `cross-chain-pmm-lps/config/deployment-status.json`. +4. Rebuild live-pair discovery and promotion-gate artifacts so the new pair is visible to operator tooling. +5. Only then promote the pair as live in operator-facing docs or routing artifacts. diff --git a/docs/03-deployment/PROVIDER_FACING_PACKAGE_SOURCE_TO_CEX.md b/docs/03-deployment/PROVIDER_FACING_PACKAGE_SOURCE_TO_CEX.md new file mode 100644 index 00000000..e1655d15 --- /dev/null +++ b/docs/03-deployment/PROVIDER_FACING_PACKAGE_SOURCE_TO_CEX.md @@ -0,0 +1,190 @@ +# Provider-Facing Package: Source To CEX / OTC Execution + +**Last Updated:** 2026-04-17 +**Purpose:** Strict provider-facing package for `Crypto.com OTC`, a DCE, or another institutional execution venue. This is written as an onboarding and commercial brief, not an internal architecture memo. + +## 1. Executive Summary + +We operate a structured digital-asset corridor with: + +- a promoted immediate bucket of Mainnet `cWUSDC` / `cWUSDT` +- a much larger same-day corridor feeder set built around Chain 138 `cUSDC`, `cUSDT`, and stable LP unwind paths +- a deployer wallet funding posture that should maintain both Mainnet `cWUSDC` and `cWUSDT` +- a preferred settlement target of `USDC` +- a preferred operating model of: + +`Chain 138 inventory -> canonical bridge -> Mainnet normalization -> provider handoff` + +The current repo-modeled operator state shows: + +- immediate bucket: about `$17.78M` +- same-day corridor bucket: about `$1.381B` +- strongest verified direct public normalization sink: about `$213.10` via `cWUSDC -> USDC` +- direct `cWUSDT -> USDT` path: about `$2.18` + +The practical implication is that we are not seeking a provider to discover our flow. We are seeking a provider to absorb clean normalized settlement flow at institutional scale after bridge and Mainnet normalization. + +## Funding Posture + +The deployer wallet should maintain both: + +- `cWUSDC` for the primary Mainnet `USDC` normalization rail +- `cWUSDT` for `cUSDT` landing, fallback handling, and support-rail normalization into `cWUSDC` + +This means the provider-facing package should describe the Mainnet wrapped funding posture as **dual-rail**, even though the preferred final settlement asset remains `USDC`. + +## 2. What We Expect From The Provider + +| Category | Expectation | +|---|---| +| Onboarding | Clear KYB / KYC / entity onboarding path | +| Settlement rail | Accepted deposit assets, chains, address rules, memo/tag rules if any | +| Execution model | Clear distinction between OTC RFQ, streamed quotes, exchange-book routing, or hybrid handling | +| Size guidance | Minimum clip, normal clip, escalation threshold, and preferred block workflow | +| Operational support | Named contacts, escalation path, failed deposit handling, reconciliation contact | +| Commercial clarity | Clear fee / spread framework and expected relationship model | +| Reliability | Stable intake process for repeatable `USDC`-oriented flow | + +## 3. What The Provider Should Expect From Us + +| Category | Commitment | +|---|---| +| Flow shape | Clean, normalized settlement-oriented flow, primarily `USDC` | +| Route discipline | We do not treat public on-chain pools as the final absorber of institutional size | +| Operational clarity | One default operating path, one packetization policy, one settlement preference | +| Funding posture | The deployer wallet maintains both `cWUSDC` and `cWUSDT` for Mainnet funding and normalization support | +| Treasury control | Clear control over feeder wallets and corridor assets | +| Source narrative | Source-of-funds and wallet-control narrative available for onboarding | +| Escalation discipline | Named operators and reproducible reconciliation process | +| Volume ramp | Small canaries first, then repeatable production clips, then larger negotiated size | + +## 4. Current Flow Presentation + +### Preferred Flow + +| Source Asset | Path To Provider | +|---|---| +| `cUSDC` | `cUSDC -> bridge -> cWUSDC -> USDC -> provider` | +| `cUSDT` | `cUSDT -> bridge -> cWUSDT -> cWUSDC -> USDC -> provider` | +| `LP:cUSDT/cUSDC` | `withdraw -> cUSDT/cUSDC -> bridge -> normalize -> USDC -> provider` | +| `cWUSDC` | `cWUSDC -> USDC -> provider` | +| `cWUSDT` | `cWUSDT -> cWUSDC -> USDC -> provider` | + +### Mainnet Funding Requirement + +The deployer wallet should be treated as funded across both Mainnet wrapped settlement rails: + +- `cWUSDC` +- `cWUSDT` + +This is not a contradiction of the `USDC`-first settlement policy. It is the funding requirement that keeps both the primary normalization rail and the `cUSDT` support rail operational. + +### Default Settlement Preference + +1. `USDC` +2. `USDT` only if the provider explicitly prefers it and the route is operationally superior + +### Current Constraint + +Without a provider, the system remains terminally concentrated on a shallow public sink. With a provider, the on-chain Mainnet leg becomes a bounded normalization handshake, not the final execution destination. + +## 5. How We Present Volume + +We should present volume in terms of **repeatable flow bands**, not only maximum theoretical inventory. + +### Recommended Provider-Facing Framing + +| Layer | How To Describe It | +|---|---| +| Immediate inventory | Mainnet normalized-or-near-normalized stable-adjacent assets available for rapid handoff | +| Same-day corridor inventory | Chain 138 feeder assets that can be bridged and normalized into `USDC` within the same operational day | +| Execution target | Repeatable institutional settlement flow rather than one-off retail-sized swaps | +| Growth profile | Initial controlled packets, then increasing clip size after successful canaries and reconciliation | + +### What Not To Do + +- Do not lead with nominal long-tail balances that do not yet have promoted terminal exits +- Do not imply that public DEX depth is the true execution capacity +- Do not promise production volume before the provider rail is fully enabled + +## 6. How We Drive Traffic / Volume + +| Stage | Objective | Provider Narrative | +|---|---|---| +| Stage 1 | Prove clean onboarding and settlement | “We can deliver clean `USDC` packets with low operational friction.” | +| Stage 2 | Prove repeatable canaries | “We can repeat successful flows with consistent routing and reconciliation.” | +| Stage 3 | Increase packet size | “We can move from small clips into desk-appropriate institutional blocks.” | +| Stage 4 | Increase cadence | “We can supply repeatable same-day flow, not one-off opportunistic transactions.” | +| Stage 5 | Expand provider trust | “We can route more of the corridor inventory into the provider because the process is stable.” | + +### Traffic-Driving Rules + +1. Standardize flow into one settlement asset. +2. Use predictable packet sizes. +3. Keep reconciliation clean. +4. Minimize failed deposits and exception handling. +5. Start with canaries and graduate by evidence. +6. Expand cadence before claiming unlimited size. + +## 7. First 30-Day Volume Ramp Plan + +### Days 1–7: Onboarding + Zero-Error Setup + +- complete provider onboarding +- confirm accepted asset, chain, and deposit instructions +- validate operator contacts and exception path +- confirm packet policy internally + +### Days 8–14: Canary Execution + +- send smallest operationally meaningful packets +- verify: + - normalization correctness + - provider receipt + - reconciliation speed + - operator handoff discipline + +### Days 15–21: Controlled Repetition + +- repeat successful clips +- keep the same asset and route shape +- avoid unnecessary route experimentation + +### Days 22–30: Graduated Ramp + +- widen packet sizes only after zero-error repetition +- establish an initial weekly or daily cadence +- document observed provider preferences and execution quality + +## 8. Provider Questions We Should Be Ready To Answer + +| Question | Prepared Answer Shape | +|---|---| +| What asset will you settle in? | Primarily `USDC` | +| What chain will you deliver on? | Ethereum Mainnet unless another provider-accepted route is cleaner | +| What is your feeder system? | Chain 138 `cUSDC`, `cUSDT`, and stable LP unwind paths, with Mainnet `cW*` immediate assets | +| What funding assets do you maintain on Mainnet? | Both `cWUSDC` and `cWUSDT`, with `USDC` as the preferred final settlement target | +| Why not execute fully on-chain? | Public normalization pools are shallow; we use on-chain only for bounded preparation before institutional execution | +| What size do you expect? | Start with controlled packets, then graduate based on successful settlement and reconciliation | +| How do you control source assets? | Treasury-controlled wallets and documented corridor model | +| How do you manage risk? | Bounded normalization usage, packet limits, settlement preference, and operator-controlled promotion gates | + +## 9. What We Should Ask The Provider Directly + +1. Which deposit assets do you prefer for repeat institutional flow? +2. Which chain(s) are best operationally for your settlement workflow? +3. At what clip sizes do you prefer OTC desk handling versus exchange-book handling? +4. What packet cadence do you prefer from a new flow source? +5. What is your escalation process for failed or delayed deposits? +6. Do you support pre-negotiated RFQ / desk routing for normalized `USDC` flow? +7. What reconciliation data will you provide back to our operators? + +## 10. Strict Bottom Line + +The correct provider-facing story is not: + +`we have many assets and many routes` + +It is: + +`we control a large same-day corridor feeder system, we normalize into clean settlement assets, and we want a reliable institutional execution partner for repeatable flow` diff --git a/docs/03-deployment/SOURCE_TO_CEX_EXECUTION_PLAN.md b/docs/03-deployment/SOURCE_TO_CEX_EXECUTION_PLAN.md new file mode 100644 index 00000000..d5f06010 --- /dev/null +++ b/docs/03-deployment/SOURCE_TO_CEX_EXECUTION_PLAN.md @@ -0,0 +1,22 @@ +# Source To CEX Execution Plan + +- Generated: `2026-04-17T15:11:49Z` +- Strategy frame: Chain 138 inventory -> canonical bridge -> Mainnet normalization -> CEX handoff +- Mainnet funding posture: `dual-rail` via `cWUSDC, cWUSDT` + +## Operator Table + +| Source Asset | Bridge Output | Preferred Normalization | CEX Deposit Asset | Fallback Path | +|---|---|---|---|---| +| `cUSDC` | cWUSDC on Ethereum Mainnet | cWUSDC -> USDC | `USDC` | bridge cUSDC -> cWUSDC, then use best available Mainnet USDC normalization route with capped public-pool usage | +| `cUSDT` | cWUSDT on Ethereum Mainnet | cWUSDT -> cWUSDC -> USDC | `USDC` | use direct cWUSDT -> USDT only for tiny packets or explicit override; otherwise route through USDC normalization | +| `LP:cUSDT/cUSDC` | cUSDT and cUSDC after LP withdrawal | withdraw LP -> prefer cUSDC feeder -> bridge -> cWUSDC -> USDC | `USDC` | withdraw LP, split outputs by best feeder path, avoid forcing whole ticket through direct USDT sink | +| `cWUSDC` | none | cWUSDC -> USDC | `USDC` | split size, cap pool usage, treat on-chain conversion strictly as deposit preparation | +| `cWUSDT` | none | cWUSDT -> cWUSDC -> USDC | `USDC` | direct USDT path is last-resort and tiny; practical size should flow through USDC-normalization | + +## Notes + +- `cUSDC` is the cleanest same-day corridor feeder. +- `cUSDT` should usually normalize through USDC until direct USDT depth improves. +- Stable LP claims are feeder-preparation assets. +- Mainnet `cWUSDC` and `cWUSDT` are immediate in mechanics, but not deep enough to absorb large tickets on-chain. diff --git a/docs/03-deployment/SOURCE_TO_CEX_PRODUCTION_READINESS.md b/docs/03-deployment/SOURCE_TO_CEX_PRODUCTION_READINESS.md new file mode 100644 index 00000000..3c9688b9 --- /dev/null +++ b/docs/03-deployment/SOURCE_TO_CEX_PRODUCTION_READINESS.md @@ -0,0 +1,24 @@ +# Source To CEX Production Readiness + +- Generated: `2026-04-17T15:11:49Z` +- Ready for immediate live production: `False` +- Policy production enabled: `False` +- Mainnet funding posture: `dual-rail` via `cWUSDC, cWUSDT` + +## Blocking Issues + +- no real off-chain sink is currently included in baseline scope +- source-to-cex production policy remains disabled + +## Off-Chain Sink Validation + +- Validation ready: `False` +- Included sink count: `0` + +## Next Live Inputs Required + +- at least one real off-chain sink row with include_in_baseline=true +- enabled_for_production_handoff=true on the real sink +- real deposit address and chain for the chosen sink +- operational_status=enabled for the chosen sink +- operator decision to set production_enabled=true after live canaries succeed diff --git a/docs/03-deployment/TERMINAL_LIQUIDITY_DIVERSIFICATION_BUILD_PROGRAM.md b/docs/03-deployment/TERMINAL_LIQUIDITY_DIVERSIFICATION_BUILD_PROGRAM.md new file mode 100644 index 00000000..311c69c6 --- /dev/null +++ b/docs/03-deployment/TERMINAL_LIQUIDITY_DIVERSIFICATION_BUILD_PROGRAM.md @@ -0,0 +1,3 @@ +# Terminal Liquidity Diversification Build Program + +This repo-native program treats terminal-liquidity diversification as the next operator priority: deepen Mainnet USDC normalization, add real off-chain sinks, and only then promote broader same-day exits. diff --git a/docs/03-deployment/WEMIX_BRIDGE_VERIFICATION_STATUS.md b/docs/03-deployment/WEMIX_BRIDGE_VERIFICATION_STATUS.md new file mode 100644 index 00000000..cb5318ab --- /dev/null +++ b/docs/03-deployment/WEMIX_BRIDGE_VERIFICATION_STATUS.md @@ -0,0 +1,51 @@ +# WEMIX Bridge Verification Status + +**Last Updated:** 2026-04-18 + +## Current State + +The WEMIX bridge contracts are: + +- deployed live +- wired bidirectionally with Chain 138 +- **not yet confirmed as explorer-verified/published** + +Contracts: + +- `CCIPWETH9_BRIDGE_WEMIX=0xD3AD6831aacB5386B8A25BB8D8176a6C8a026f04` +- `CCIPWETH10_BRIDGE_WEMIX=0xa4B9DD039565AeD9641D45b57061f99d9cA6Df08` + +## Verified Blockers + +1. The repo did not previously have a WEMIX-specific verification helper. +2. WEMIX public explorer pages are behind bot protection, so direct scripted page checks are unreliable. +3. WEMIX explorer verification needs an `api-key`, and the repo did not previously expose a dedicated `WEMIXSCAN_API_KEY`. +4. The WEMIX deploy required a `paris` EVM target, so verification must use that same build profile. + +## Repo-Native Verification Command + +```bash +cd smom-dbis-138 +./scripts/deployment/verify-wemix-bridges.sh +``` + +Required env: + +- `WEMIXSCAN_API_KEY` +- `WEMIX_RPC` +- `CCIPWETH9_BRIDGE_WEMIX` +- `CCIPWETH10_BRIDGE_WEMIX` +- `CCIP_ROUTER_WEMIX` +- `WETH9_WEMIX` +- `WETH10_WEMIX` +- `LINK_TOKEN_WEMIX` + +## Important Build Assumption + +Verification must use: + +- Solidity `0.8.20` +- optimizer enabled +- optimizer runs `200` +- `viaIR=true` +- `evmVersion=paris` diff --git a/docs/04-configuration/ADD_CHAIN138_TO_TRUST_WALLET.md b/docs/04-configuration/ADD_CHAIN138_TO_TRUST_WALLET.md index a7c7d667..bdbe3fe4 100644 --- a/docs/04-configuration/ADD_CHAIN138_TO_TRUST_WALLET.md +++ b/docs/04-configuration/ADD_CHAIN138_TO_TRUST_WALLET.md @@ -1,7 +1,7 @@ # Add Chain 138 (Defi Oracle Meta Mainnet) to Trust Wallet -**Last Updated:** 2026-02-12 -**Status:** User workaround available; official support via Wallet Core PR +**Last Updated:** 2026-04-17 +**Status:** User workaround available; official support via Wallet Core PR; token/logo submissions use Assets App; new chain business workflow may still require Trust review outside the repo path --- @@ -47,6 +47,8 @@ Trust Wallet allows adding custom EVM networks in the app. Because **Chain 138 i To have Chain 138 appear in Trust Wallet’s **built-in** chain list (no manual add), the chain must be added to **Trust Wallet Core** via a PR. +Important: Trust’s current asset-listing docs separate **new token/logo submissions** from **new chain requests**. The token/logo path goes through the Assets App, while new-chain review may still involve their Business Development / partner process even if Wallet Core code changes are technically prepared. + ### Prerequisites (for Chain 138) | Item | Value | @@ -132,7 +134,7 @@ Defi Oracle Meta Mainnet (Chain ID 138) — EVM-compatible chain for Trust Walle ## Optional: Token / chain logos (Trust Wallet Assets) - **Token logos:** Your app already uses Trust Wallet’s public asset URLs for Ethereum mainnet tokens (e.g. `https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/
/logo.png`). For **Chain 138–native tokens**, you can submit logos via [assets.trustwallet.com](https://assets.trustwallet.com) (see [Trust – Listing new assets](https://developer.trustwallet.com/developer/new-asset)); fees and rules apply. -- **Chain icon:** If Trust’s app shows a chain icon from their assets repo, adding a chain folder under `blockchains/` (e.g. for `dfiometa` or `eip155-138`) would follow their assets repo structure; check [trustwallet/assets](https://github.com/trustwallet/assets) for current layout. +- **Chain icon:** Treat chain-icon work as secondary to Wallet Core support. Trust’s public docs currently direct new token/logo submissions through the Assets App and new chain requests through their business workflow. If a chain-assets repo addition becomes necessary, use the packaged Chain 138 bundle in [pr-ready/eip155-138-package](./pr-ready/eip155-138-package/). --- diff --git a/docs/04-configuration/pr-ready/README.md b/docs/04-configuration/pr-ready/README.md index 20a4a799..0ffdf661 100644 --- a/docs/04-configuration/pr-ready/README.md +++ b/docs/04-configuration/pr-ready/README.md @@ -10,6 +10,7 @@ **Action:** Add or update `_data/chains/eip155-138.json`. **File:** [eip155-138.json](./eip155-138.json) — lists only **public** RPC nodes (Core and Private RPC nodes are excluded). +**Packaged copy:** [eip155-138-package/eip155-138.chainlist.json](./eip155-138-package/eip155-138.chainlist.json) **Steps:** 1. Fork https://github.com/ethereum-lists/chains @@ -21,22 +22,53 @@ --- -## 2. Trust Wallet (trustwallet/wallet-core) +## 2. Trust Wallet -**Repo:** https://github.com/trustwallet/wallet-core -**Action:** Add Chain 138 to the chain registry (e.g. `registry.json` or current path per their docs). +There are two different Trust Wallet paths: -**File:** [trust-wallet-registry-chain138.json](./trust-wallet-registry-chain138.json) +1. **Wallet Core / built-in chain support** + Repo: https://github.com/trustwallet/wallet-core + Action: add Chain 138 to the chain registry (e.g. `registry.json` or current path per their docs). +2. **Assets / token logos** + Use the Assets App: https://assets.trustwallet.com + Action: submit token logos and metadata for supported chains. +3. **New chain business workflow** + Trust’s current assets docs say new chain requests should go through their Business Development contact path, even when Wallet Core technical work is also needed. -**Steps:** +**Wallet Core file:** [trust-wallet-registry-chain138.json](./trust-wallet-registry-chain138.json) +**Packaged copy:** [eip155-138-package/trust-wallet-registry-chain138.json](./eip155-138-package/trust-wallet-registry-chain138.json) + +**Wallet Core steps:** 1. Clone trustwallet/wallet-core and follow [Trust – New EVM chain](https://developer.trustwallet.com/developer/wallet-core/newblockchain/newevmchain) 2. Add the JSON entry from `trust-wallet-registry-chain138.json` to the registry file (path may be `registry.json` or under `registry/`; check repo) 3. Run codegen: `./tools/new-evmchain dfiometa` (use registry **id**, not chainId 138; requires Rust/cargo) 4. Extend derivation tests if required 5. Build and test, then open PR with registry change + generated files +**Assets / logo path:** Use `assets.trustwallet.com` for token/logo submissions on supported networks. **Full guide:** [ADD_CHAIN138_TO_TRUST_WALLET.md](../ADD_CHAIN138_TO_TRUST_WALLET.md) +## 2a. Packaged Submission Directory + +**Directory:** [eip155-138-package/](./eip155-138-package/) + +This folder is the operator-friendly handoff bundle for Defi Oracle Meta Mainnet (`eip155-138`). It contains: + +- a Chainlist-ready JSON copy +- a Trust Wallet Wallet Core registry entry copy +- a manifest with canonical source paths + +The canonical editable files remain: + +- [eip155-138.json](./eip155-138.json) +- [trust-wallet-registry-chain138.json](./trust-wallet-registry-chain138.json) + +Rebuild the package after updates with: + +```bash +bash scripts/verify/build-chain138-pr-ready-package.sh +``` + --- ## 3. Ledger (after they respond) diff --git a/docs/04-configuration/pr-ready/chain138-asset-package/README.md b/docs/04-configuration/pr-ready/chain138-asset-package/README.md new file mode 100644 index 00000000..c26d7c9b --- /dev/null +++ b/docs/04-configuration/pr-ready/chain138-asset-package/README.md @@ -0,0 +1,66 @@ +# Chain 138 Asset Submission Package + +**Chain:** Defi Oracle Meta Mainnet +**Chain ID:** 138 +**CAIP-2:** `eip155:138` + +This package is for **token asset submissions** on Chain 138. + +It is intentionally separate from the Wallet Core chain-support PR because those are different review surfaces: + +- **Wallet Core**: chain metadata, coin type, address derivation, explorer URL patterns +- **Wallet / assets apps**: token logos and token metadata +- **Listing sites**: token pages and market metadata + +## Important scope boundary + +`wallet-core` does **not** carry: + +- bridge route listings +- liquidity pool listings +- DEX pool inventories +- market / venue listings + +Those belong to other systems such as token assets apps, token lists, aggregators, explorers, or market-data platforms. + +## Contents + +| File | Purpose | +| --- | --- | +| `manifest.json` | Package metadata and scope notes | +| `wallet-token-submissions.chain138.json` | Wallet-facing token asset submission set | +| `listing-token-submissions.chain138.json` | Listing-surface token submission set | + +## Included assets + +### Wallet-facing + +- `WETH9` representation on Chain 138 + Note: canonical Chain 138 token lists currently use symbol `WETH`; this package includes a `WETH9` alias view only for surfaces that explicitly expect that branding. +- GRU v2 canonical forward assets verified in repo sources: + - `cUSDT V2` + - `cUSDC V2` + - `cEURC V2` + - `cEURT V2` + - `cGBPC V2` + - `cGBPT V2` + - `cAUDC V2` + - `cJPYC V2` + - `cCHFC V2` + - `cCADC V2` + - `cXAUC V2` + - `cXAUT V2` + +### Not included + +- bridges +- pools +- cW public-network wrappers +- unsupported or unverified V2 candidates not confirmed in the current repo snapshot + +## Suggested submission order + +1. Wallet assets / wallet token metadata surfaces +2. Explorer token metadata alignment +3. Market-listing surfaces after market-eligibility evidence exists + diff --git a/docs/04-configuration/pr-ready/chain138-asset-package/listing-token-submissions.chain138.json b/docs/04-configuration/pr-ready/chain138-asset-package/listing-token-submissions.chain138.json new file mode 100644 index 00000000..fb56d63d --- /dev/null +++ b/docs/04-configuration/pr-ready/chain138-asset-package/listing-token-submissions.chain138.json @@ -0,0 +1,71 @@ +{ + "chainId": 138, + "chainName": "Defi Oracle Meta Mainnet", + "submissionType": "listing_surfaces", + "surfaceNotes": { + "walletCore": "Chain metadata only. No token assets, bridge listings, or pool listings.", + "trustWalletAssetsApp": "Suitable for token metadata / logos on supported surfaces.", + "coingecko": "Token pages require platform support and market eligibility evidence.", + "coinmarketcap": "Token pages require market/listing eligibility evidence.", + "explorers": "Suitable for token metadata enrichment and display labels." + }, + "priorityAssets": [ + { + "priority": 1, + "symbol": "cUSDC", + "name": "USD Coin (Compliant V2)", + "address": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "decimals": 6, + "listingRationale": [ + "forward canonical", + "x402 ready", + "active GRU v2 settlement candidate" + ] + }, + { + "priority": 2, + "symbol": "cUSDT", + "name": "Tether USD (Compliant V2)", + "address": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "decimals": 6, + "listingRationale": [ + "forward canonical", + "x402 ready", + "active GRU v2 settlement candidate" + ] + }, + { + "priority": 3, + "symbol": "WETH9", + "name": "Wrapped Ether (WETH9)", + "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "decimals": 18, + "listingRationale": [ + "useful wallet-recognition alias", + "canonical token list currently uses symbol WETH" + ] + } + ], + "secondaryGruV2Assets": [ + "0x243e6581Dc8a98d98B92265858b322b193555C81", + "0x2bAFA83d8fF8BaE9505511998987D0659791605B", + "0x707508D223103f5D2d9EFBc656302c9d48878b29", + "0xee17c18E10E55ce23F7457D018aAa2Fb1E64B281", + "0xfb37aFd415B70C5cEDc9bA58a72D517207b769Bb", + "0x2c751bBE4f299b989b3A8c333E0A966cdcA6Fd98", + "0x60B7FB8e0DD0Be8595AD12Fe80AE832861Be747c", + "0xe799033c87fE0CE316DAECcefBE3134CC74b76a9", + "0xF0F0F81bE3D033D8586bAfd2293e37eE2f615647", + "0x89477E982847023aaB5C3492082cd1bB4b1b9Ef1" + ], + "exclusions": [ + { + "symbol": "cUSDW", + "reason": "Repo-native hub asset is present on Chain 138, but a separate V2 token candidate is not verified in the current source snapshot." + }, + { + "symbol": "bridges_and_pools", + "reason": "Bridge routes and pool listings are not token asset submissions and should not be bundled with wallet-core or token-listing metadata." + } + ] +} diff --git a/docs/04-configuration/pr-ready/chain138-asset-package/manifest.json b/docs/04-configuration/pr-ready/chain138-asset-package/manifest.json new file mode 100644 index 00000000..11283d44 --- /dev/null +++ b/docs/04-configuration/pr-ready/chain138-asset-package/manifest.json @@ -0,0 +1,23 @@ +{ + "name": "Chain 138 Asset Submission Package", + "chainName": "Defi Oracle Meta Mainnet", + "chainId": 138, + "caip2": "eip155:138", + "purpose": "Submission bundle for Chain 138 token assets across wallet and listing surfaces.", + "walletCoreScope": { + "supportsChainMetadata": true, + "supportsTokenAssets": false, + "includesBridgeListings": false, + "includesPoolListings": false + }, + "artifacts": { + "walletSubmissions": "docs/04-configuration/pr-ready/chain138-asset-package/wallet-token-submissions.chain138.json", + "listingSubmissions": "docs/04-configuration/pr-ready/chain138-asset-package/listing-token-submissions.chain138.json" + }, + "verifiedSourcePaths": [ + "token-lists/lists/dbis-138.tokenlist.json", + "metamask-integration/config/token-list.json", + "explorer-monorepo/frontend/src/services/api/gruExplorerData.ts", + "smom-dbis-138/scripts/mint-c-star-v2-wave1-138.sh" + ] +} diff --git a/docs/04-configuration/pr-ready/chain138-asset-package/wallet-token-submissions.chain138.json b/docs/04-configuration/pr-ready/chain138-asset-package/wallet-token-submissions.chain138.json new file mode 100644 index 00000000..0e9461c0 --- /dev/null +++ b/docs/04-configuration/pr-ready/chain138-asset-package/wallet-token-submissions.chain138.json @@ -0,0 +1,201 @@ +{ + "chainId": 138, + "chainName": "Defi Oracle Meta Mainnet", + "submissionType": "wallet_assets", + "notes": [ + "This file is for wallet-facing token asset metadata, not Wallet Core chain support.", + "Use the WETH9 alias only on surfaces that explicitly expect WETH9 branding. The canonical Chain 138 token list currently uses symbol WETH for the same address.", + "Bridge and pool metadata are out of scope for wallet-core and for this package." + ], + "assets": [ + { + "packageKey": "chain138-weth9-alias", + "canonicalSymbol": "WETH", + "submissionDisplaySymbol": "WETH9", + "name": "Wrapped Ether (WETH9)", + "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "decimals": 18, + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "surfaceRecommendations": [ + "wallet assets app", + "custom token metadata", + "explorer token metadata" + ], + "verifiedSourcePaths": [ + "token-lists/lists/dbis-138.tokenlist.json" + ], + "notes": [ + "Canonical Chain 138 token list symbol is WETH.", + "Use WETH9 only where the receiving surface specifically distinguishes WETH9 from other wrapped Ether forms." + ] + }, + { + "packageKey": "gru-v2-cusdt", + "canonicalSymbol": "cUSDT", + "submissionDisplaySymbol": "cUSDT", + "name": "Tether USD (Compliant V2)", + "address": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "decimals": 6, + "logoURI": "https://explorer.d-bis.org/token-icons/cUSDT.png", + "gruVersion": "v2", + "verifiedSourcePaths": [ + "metamask-integration/config/token-list.json" + ] + }, + { + "packageKey": "gru-v2-cusdc", + "canonicalSymbol": "cUSDC", + "submissionDisplaySymbol": "cUSDC", + "name": "USD Coin (Compliant V2)", + "address": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "decimals": 6, + "logoURI": "https://explorer.d-bis.org/token-icons/cUSDC.png", + "gruVersion": "v2", + "verifiedSourcePaths": [ + "metamask-integration/config/token-list.json" + ] + }, + { + "packageKey": "gru-v2-ceurc", + "canonicalSymbol": "cEURC", + "submissionDisplaySymbol": "cEURC", + "name": "Euro Coin (Compliant V2)", + "address": "0x243e6581Dc8a98d98B92265858b322b193555C81", + "decimals": 6, + "logoURI": "https://raw.githubusercontent.com/Order-of-Hospitallers/proxmox-cp/main/token-lists/logos/gru/cEURC.svg", + "gruVersion": "v2", + "verifiedSourcePaths": [ + "smom-dbis-138/scripts/mint-c-star-v2-wave1-138.sh", + "explorer-monorepo/frontend/src/services/api/gruExplorerData.ts" + ] + }, + { + "packageKey": "gru-v2-ceurt", + "canonicalSymbol": "cEURT", + "submissionDisplaySymbol": "cEURT", + "name": "Tether EUR (Compliant V2)", + "address": "0x2bAFA83d8fF8BaE9505511998987D0659791605B", + "decimals": 6, + "logoURI": "https://raw.githubusercontent.com/Order-of-Hospitallers/proxmox-cp/main/token-lists/logos/gru/cEURT.svg", + "gruVersion": "v2", + "verifiedSourcePaths": [ + "smom-dbis-138/scripts/mint-c-star-v2-wave1-138.sh", + "explorer-monorepo/frontend/src/services/api/gruExplorerData.ts" + ] + }, + { + "packageKey": "gru-v2-cgbpc", + "canonicalSymbol": "cGBPC", + "submissionDisplaySymbol": "cGBPC", + "name": "Pound Sterling (Compliant V2)", + "address": "0x707508D223103f5D2d9EFBc656302c9d48878b29", + "decimals": 6, + "logoURI": "https://raw.githubusercontent.com/Order-of-Hospitallers/proxmox-cp/main/token-lists/logos/gru/cGBPC.svg", + "gruVersion": "v2", + "verifiedSourcePaths": [ + "smom-dbis-138/scripts/mint-c-star-v2-wave1-138.sh", + "explorer-monorepo/frontend/src/services/api/gruExplorerData.ts" + ] + }, + { + "packageKey": "gru-v2-cgbpt", + "canonicalSymbol": "cGBPT", + "submissionDisplaySymbol": "cGBPT", + "name": "Tether GBP (Compliant V2)", + "address": "0xee17c18E10E55ce23F7457D018aAa2Fb1E64B281", + "decimals": 6, + "logoURI": "https://raw.githubusercontent.com/Order-of-Hospitallers/proxmox-cp/main/token-lists/logos/gru/cGBPT.svg", + "gruVersion": "v2", + "verifiedSourcePaths": [ + "smom-dbis-138/scripts/mint-c-star-v2-wave1-138.sh", + "explorer-monorepo/frontend/src/services/api/gruExplorerData.ts" + ] + }, + { + "packageKey": "gru-v2-caudc", + "canonicalSymbol": "cAUDC", + "submissionDisplaySymbol": "cAUDC", + "name": "Australian Dollar (Compliant V2)", + "address": "0xfb37aFd415B70C5cEDc9bA58a72D517207b769Bb", + "decimals": 6, + "logoURI": "https://raw.githubusercontent.com/Order-of-Hospitallers/proxmox-cp/main/token-lists/logos/gru/cAUDC.svg", + "gruVersion": "v2", + "verifiedSourcePaths": [ + "smom-dbis-138/scripts/mint-c-star-v2-wave1-138.sh", + "explorer-monorepo/frontend/src/services/api/gruExplorerData.ts" + ] + }, + { + "packageKey": "gru-v2-cjpyc", + "canonicalSymbol": "cJPYC", + "submissionDisplaySymbol": "cJPYC", + "name": "Japanese Yen (Compliant V2)", + "address": "0x2c751bBE4f299b989b3A8c333E0A966cdcA6Fd98", + "decimals": 6, + "logoURI": "https://raw.githubusercontent.com/Order-of-Hospitallers/proxmox-cp/main/token-lists/logos/gru/cJPYC.svg", + "gruVersion": "v2", + "verifiedSourcePaths": [ + "smom-dbis-138/scripts/mint-c-star-v2-wave1-138.sh", + "explorer-monorepo/frontend/src/services/api/gruExplorerData.ts" + ] + }, + { + "packageKey": "gru-v2-cchfc", + "canonicalSymbol": "cCHFC", + "submissionDisplaySymbol": "cCHFC", + "name": "Swiss Franc (Compliant V2)", + "address": "0x60B7FB8e0DD0Be8595AD12Fe80AE832861Be747c", + "decimals": 6, + "logoURI": "https://raw.githubusercontent.com/Order-of-Hospitallers/proxmox-cp/main/token-lists/logos/gru/cCHFC.svg", + "gruVersion": "v2", + "verifiedSourcePaths": [ + "smom-dbis-138/scripts/mint-c-star-v2-wave1-138.sh", + "explorer-monorepo/frontend/src/services/api/gruExplorerData.ts" + ] + }, + { + "packageKey": "gru-v2-ccadc", + "canonicalSymbol": "cCADC", + "submissionDisplaySymbol": "cCADC", + "name": "Canadian Dollar (Compliant V2)", + "address": "0xe799033c87fE0CE316DAECcefBE3134CC74b76a9", + "decimals": 6, + "logoURI": "https://raw.githubusercontent.com/Order-of-Hospitallers/proxmox-cp/main/token-lists/logos/gru/cCADC.svg", + "gruVersion": "v2", + "verifiedSourcePaths": [ + "smom-dbis-138/scripts/mint-c-star-v2-wave1-138.sh", + "explorer-monorepo/frontend/src/services/api/gruExplorerData.ts" + ] + }, + { + "packageKey": "gru-v2-cxauc", + "canonicalSymbol": "cXAUC", + "submissionDisplaySymbol": "cXAUC", + "name": "Gold (Compliant V2)", + "address": "0xF0F0F81bE3D033D8586bAfd2293e37eE2f615647", + "decimals": 6, + "logoURI": "https://explorer.d-bis.org/token-icons/cXAUC.png", + "gruVersion": "v2", + "unitOfAccount": "troy_ounce", + "verifiedSourcePaths": [ + "smom-dbis-138/scripts/mint-c-star-v2-wave1-138.sh", + "explorer-monorepo/frontend/src/services/api/gruExplorerData.ts" + ] + }, + { + "packageKey": "gru-v2-cxaut", + "canonicalSymbol": "cXAUT", + "submissionDisplaySymbol": "cXAUT", + "name": "Tether XAU (Compliant V2)", + "address": "0x89477E982847023aaB5C3492082cd1bB4b1b9Ef1", + "decimals": 6, + "logoURI": "https://explorer.d-bis.org/token-icons/cXAUT.png", + "gruVersion": "v2", + "unitOfAccount": "troy_ounce", + "verifiedSourcePaths": [ + "smom-dbis-138/scripts/mint-c-star-v2-wave1-138.sh", + "explorer-monorepo/frontend/src/services/api/gruExplorerData.ts" + ] + } + ] +} diff --git a/docs/04-configuration/pr-ready/eip155-138-package/README.md b/docs/04-configuration/pr-ready/eip155-138-package/README.md new file mode 100644 index 00000000..b2238444 --- /dev/null +++ b/docs/04-configuration/pr-ready/eip155-138-package/README.md @@ -0,0 +1,30 @@ +# Defi Oracle Meta Mainnet PR-Ready Package + +**Chain:** Defi Oracle Meta Mainnet +**Chain ID:** 138 +**CAIP-2:** `eip155:138` + +This directory is the handoff bundle for external chain-listing and wallet-support work. + +## Contents + +| File | Purpose | +| --- | --- | +| `eip155-138.chainlist.json` | Chainlist / `ethereum-lists/chains` submission copy | +| `trust-wallet-registry-chain138.json` | Trust Wallet Wallet Core registry entry copy | +| `manifest.json` | Package metadata and canonical source paths | + +## Canonical sources + +The editable source files live one directory up: + +- `../eip155-138.json` +- `../trust-wallet-registry-chain138.json` + +Do not manually edit the copies in this package unless you are intentionally preparing a one-off external handoff. Prefer updating the canonical sources and rebuilding the package. + +## Rebuild + +```bash +bash scripts/verify/build-chain138-pr-ready-package.sh +``` diff --git a/docs/04-configuration/pr-ready/eip155-138-package/eip155-138.chainlist.json b/docs/04-configuration/pr-ready/eip155-138-package/eip155-138.chainlist.json new file mode 100644 index 00000000..ddc6d4d8 --- /dev/null +++ b/docs/04-configuration/pr-ready/eip155-138-package/eip155-138.chainlist.json @@ -0,0 +1,52 @@ +{ + "name": "Defi Oracle Meta Mainnet", + "chain": "dfiometa", + "rpc": [ + "https://rpc-http-pub.d-bis.org", + "wss://rpc-ws-pub.d-bis.org", + "https://rpc.d-bis.org", + "wss://rpc.d-bis.org", + "https://rpc2.d-bis.org", + "wss://ws.rpc.d-bis.org", + "wss://ws.rpc2.d-bis.org", + "https://rpc.public-0138.defi-oracle.io", + "wss://rpc.public-0138.defi-oracle.io", + "https://rpc.defi-oracle.io", + "wss://wss.defi-oracle.io" + ], + "features": [ + { + "name": "EIP155" + }, + { + "name": "EIP1559" + }, + { + "name": "EIP2718" + }, + { + "name": "EIP2930" + } + ], + "faucets": [], + "nativeCurrency": { + "name": "Ether", + "symbol": "ETH", + "decimals": 18 + }, + "infoURL": "https://d-bis.org", + "shortName": "dfio-meta-main", + "chainId": 138, + "networkId": 138, + "slip44": 60, + "ens": { + "registry": "0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85" + }, + "explorers": [ + { + "name": "Blockscout", + "url": "https://explorer.d-bis.org", + "standard": "EIP3091" + } + ] +} diff --git a/docs/04-configuration/pr-ready/eip155-138-package/manifest.json b/docs/04-configuration/pr-ready/eip155-138-package/manifest.json new file mode 100644 index 00000000..27ddc441 --- /dev/null +++ b/docs/04-configuration/pr-ready/eip155-138-package/manifest.json @@ -0,0 +1,14 @@ +{ + "name": "Defi Oracle Meta Mainnet PR-Ready Package", + "chainId": 138, + "caip2": "eip155:138", + "generatedBy": "scripts/verify/build-chain138-pr-ready-package.sh", + "canonicalSources": { + "chainlist": "docs/04-configuration/pr-ready/eip155-138.json", + "trustWalletRegistry": "docs/04-configuration/pr-ready/trust-wallet-registry-chain138.json" + }, + "artifacts": { + "chainlist": "docs/04-configuration/pr-ready/eip155-138-package/eip155-138.chainlist.json", + "trustWalletRegistry": "docs/04-configuration/pr-ready/eip155-138-package/trust-wallet-registry-chain138.json" + } +} diff --git a/docs/04-configuration/pr-ready/eip155-138-package/trust-wallet-registry-chain138.json b/docs/04-configuration/pr-ready/eip155-138-package/trust-wallet-registry-chain138.json new file mode 100644 index 00000000..b12fd571 --- /dev/null +++ b/docs/04-configuration/pr-ready/eip155-138-package/trust-wallet-registry-chain138.json @@ -0,0 +1,28 @@ +{ + "id": "dfiometa", + "name": "Defi Oracle Meta Mainnet", + "coinId": 10000138, + "symbol": "ETH", + "decimals": 18, + "blockchain": "Ethereum", + "derivation": [ + { "path": "m/44'/60'/0'/0/0" } + ], + "curve": "secp256k1", + "publicKeyType": "secp256k1Extended", + "chainId": "138", + "addressHasher": "keccak256", + "explorer": { + "url": "https://explorer.d-bis.org", + "txPath": "/tx/", + "accountPath": "/address/", + "sampleTx": "0xbc36c6050ea6b6f484009a1fcd8f8c6c2c2bd629661bc75fa5e84829c662a604", + "sampleAccount": "0x4A666F96fC8764181194447A7dFdb7d471b301C8" + }, + "info": { + "url": "https://d-bis.org", + "source": "https://gitea.d-bis.org/d-bis", + "rpc": "https://rpc-http-pub.d-bis.org", + "documentation": "https://d-bis.org" + } +} diff --git a/docs/04-configuration/pr-ready/eip155-138.json b/docs/04-configuration/pr-ready/eip155-138.json index e2f7282c..ddc6d4d8 100644 --- a/docs/04-configuration/pr-ready/eip155-138.json +++ b/docs/04-configuration/pr-ready/eip155-138.json @@ -20,6 +20,12 @@ }, { "name": "EIP1559" + }, + { + "name": "EIP2718" + }, + { + "name": "EIP2930" } ], "faucets": [], @@ -43,4 +49,4 @@ "standard": "EIP3091" } ] -} \ No newline at end of file +} diff --git a/docs/MASTER_INDEX.md b/docs/MASTER_INDEX.md index 10fe1e8b..9c6c741c 100644 --- a/docs/MASTER_INDEX.md +++ b/docs/MASTER_INDEX.md @@ -22,6 +22,36 @@ | **Required / optional / recommended (full plan)** | [00-meta/COMPLETE_REQUIRED_OPTIONAL_RECOMMENDED_INDEX.md](00-meta/COMPLETE_REQUIRED_OPTIONAL_RECOMMENDED_INDEX.md) | | **Single task list** | [00-meta/TODOS_CONSOLIDATED.md](00-meta/TODOS_CONSOLIDATED.md) | | **Execution: multiple routes + liquidity (all + optional, suggested order)** | [00-meta/EXECUTION_CHECKLIST_MULTIPLE_ROUTES_AND_LIQUIDITY.md](00-meta/EXECUTION_CHECKLIST_MULTIPLE_ROUTES_AND_LIQUIDITY.md) | +| **Source to CEX execution plan** | [03-deployment/SOURCE_TO_CEX_EXECUTION_PLAN.md](03-deployment/SOURCE_TO_CEX_EXECUTION_PLAN.md) — operator bridge, normalization, and exchange-handoff plan | +| **Source to CEX production readiness** | [03-deployment/SOURCE_TO_CEX_PRODUCTION_READINESS.md](03-deployment/SOURCE_TO_CEX_PRODUCTION_READINESS.md) — repo-native readiness gate for immediate production | +| **Immediate live production task list: source to CEX** | [03-deployment/IMMEDIATE_LIVE_PRODUCTION_TASK_LIST_SOURCE_TO_CEX.md](03-deployment/IMMEDIATE_LIVE_PRODUCTION_TASK_LIST_SOURCE_TO_CEX.md) — task list with remaining live blockers called out | +| **Crypto.com OTC before vs after matrix** | [03-deployment/CRYPTO_COM_OTC_BEFORE_AFTER_OPERATOR_MATRIX.md](03-deployment/CRYPTO_COM_OTC_BEFORE_AFTER_OPERATOR_MATRIX.md) — strict operator comparison of the current ecosystem versus the state after a real Crypto.com OTC sink is connected | +| **Provider-facing source to CEX package** | [03-deployment/PROVIDER_FACING_PACKAGE_SOURCE_TO_CEX.md](03-deployment/PROVIDER_FACING_PACKAGE_SOURCE_TO_CEX.md) — strict provider-facing package covering expectations, flow presentation, questions, and a first 30-day ramp plan | +| **Mr. Promod Uniswap V2 liquidity program** | [03-deployment/PROMOD_UNISWAP_V2_LIQUIDITY_PROGRAM.md](03-deployment/PROMOD_UNISWAP_V2_LIQUIDITY_PROGRAM.md) — wrapped-depth-first Uniswap V2 rollout for cW* and cWAUSDT on bridged public networks | +| **Mr. Promod Uniswap V2 promotion gates** | [03-deployment/PROMOD_UNISWAP_V2_PROMOTION_GATES.md](03-deployment/PROMOD_UNISWAP_V2_PROMOTION_GATES.md) — exact per-chain env vars and registry records required before any live Uniswap V2 pool can be promoted | +| **Mr. Promod Uniswap V2 live pair discovery** | [03-deployment/PROMOD_UNISWAP_V2_LIVE_PAIR_DISCOVERY.md](03-deployment/PROMOD_UNISWAP_V2_LIVE_PAIR_DISCOVERY.md) — env-ready chain scan for live cW Uniswap V2-compatible pairs and the path to record them | +| **Mr. Promod Uniswap V2 first deployment target matrix** | [03-deployment/PROMOD_UNISWAP_V2_FIRST_DEPLOYMENT_TARGET_MATRIX.md](03-deployment/PROMOD_UNISWAP_V2_FIRST_DEPLOYMENT_TARGET_MATRIX.md) — exact first pair per chain, why it goes first, required tokens, and post-deploy commands | +| **Mr. Promod Uniswap V2 phase order** | [03-deployment/PROMOD_UNISWAP_V2_PHASE_ORDER.md](03-deployment/PROMOD_UNISWAP_V2_PHASE_ORDER.md) — strict rollout order: phase 1 core rail, phase 2 full cW* wrapped mesh, phase 3 settlement rails | +| **Mr. Promod Uniswap V2 phase 2 operator sequence** | [03-deployment/PROMOD_UNISWAP_V2_PHASE2_OPERATOR_SEQUENCE.md](03-deployment/PROMOD_UNISWAP_V2_PHASE2_OPERATOR_SEQUENCE.md) — exact chain-by-chain phase-2 cW* wrapped-mesh rollout with per-pair probe, create, and deploy blocks | +| **Mr. Promod Uniswap V2 phase 2 wave 2 operator sequence** | [03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_SEQUENCE.md](03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_SEQUENCE.md) — exact chain-by-chain rollout for the remaining wrapped-mesh assets after wave 1 | +| **Mr. Promod Uniswap V2 phase 2 wave 2 operator paste pack** | [03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_PASTE_PACK.md](03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_PASTE_PACK.md) — flat paste-ready operator pack for every remaining wrapped-mesh pair in wave 2 | +| **Mr. Promod Uniswap V2 phase 2 wave 2 shell paste pack** | [03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_SHELL_PASTE_PACK.sh](03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE2_SHELL_PASTE_PACK.sh) — pure shell-only sequence for every remaining wrapped-mesh pair in wave 2 | +| **Mr. Promod Uniswap V2 phase 2 operator paste pack** | [03-deployment/PROMOD_UNISWAP_V2_PHASE2_OPERATOR_PASTE_PACK.md](03-deployment/PROMOD_UNISWAP_V2_PHASE2_OPERATOR_PASTE_PACK.md) — flat paste-ready operator pack for every phase-2 wrapped-mesh pair in execution order | +| **Mr. Promod Uniswap V2 phase 2 shell paste pack** | [03-deployment/PROMOD_UNISWAP_V2_PHASE2_SHELL_PASTE_PACK.sh](03-deployment/PROMOD_UNISWAP_V2_PHASE2_SHELL_PASTE_PACK.sh) — pure shell-only sequence for phase-2 wrapped-mesh pair creation and seeding | +| **Mr. Promod Uniswap V2 phase 2 wave 1 completion status** | [03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE1_COMPLETION_STATUS.md](03-deployment/PROMOD_UNISWAP_V2_PHASE2_WAVE1_COMPLETION_STATUS.md) — live reserve-backed completion report for the six wave-1 wrapped pairs on all target networks, plus current explorer-publication blockers | +| **Mr. Promod GRU v2 full mesh gap report** | [03-deployment/PROMOD_GRU_V2_FULL_MESH_GAP_REPORT.md](03-deployment/PROMOD_GRU_V2_FULL_MESH_GAP_REPORT.md) — strict per-network gap report for the remaining cW mesh across DODO PMM, Uniswap V2, Balancer, Curve, and other venue surfaces | +| **Chain 138 -> Wemix 1111 bridge completion checklist** | [03-deployment/CHAIN_138_TO_WEMIX_1111_BRIDGE_COMPLETION_CHECKLIST.md](03-deployment/CHAIN_138_TO_WEMIX_1111_BRIDGE_COMPLETION_CHECKLIST.md) — exact operator checklist for deploying the WEMIX WETH bridges, wiring destinations, funding LINK, and promoting `1111` out of deferred state | +| **WEMIX bridge verification status** | [03-deployment/WEMIX_BRIDGE_VERIFICATION_STATUS.md](03-deployment/WEMIX_BRIDGE_VERIFICATION_STATUS.md) — current explorer-publication state for the deployed WEMIX bridges and the repo-native verification command | +| **Mr. Promod Uniswap V2 phase 1 execution checklist** | [03-deployment/PROMOD_UNISWAP_V2_PHASE1_EXECUTION_CHECKLIST.md](03-deployment/PROMOD_UNISWAP_V2_PHASE1_EXECUTION_CHECKLIST.md) — exact chain-by-chain operator checklist for the first full `cWUSDT/cWUSDC` rollout | +| **Mr. Promod Uniswap V2 phase 1 funding readiness** | [03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_READINESS.md](03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_READINESS.md) — live deployer-wallet balances and max equal-sided seed size for each `cWUSDT/cWUSDC` target chain | +| **Mr. Promod Uniswap V2 phase 1 funding bundle** | [03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_BUNDLE.md](03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_BUNDLE.md) — per-chain missing-token/gas bundle and exact post-funding deploy block for phase 1 | +| **Mr. Promod Uniswap V2 phase 1 funding actions** | [03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_ACTIONS.md](03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_ACTIONS.md) — strict per-chain mint-before-seed or seed-now action plan, with bridge-possible notes tied to the cW bridge runbooks | +| **Mr. Promod Uniswap V2 phase 1 bridge-from-138 matrix** | [03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_FROM_138_MATRIX.md](03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_FROM_138_MATRIX.md) — strict destination shortfall matrix showing how much cUSDT/cUSDC Chain 138 inventory could source for the remaining phase-1 rollout | +| **Mr. Promod Uniswap V2 phase 1 bridge 3x matrix** | [03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_MATRIX.md](03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_MATRIX.md) — strict 3x bridge sizing plan from Chain 138 for the remaining phase-1 destination shortfalls | +| **Mr. Promod Uniswap V2 phase 1 bridge 3x operator packet** | [03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_OPERATOR_PACKET.md](03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_OPERATOR_PACKET.md) — strict operator packet with 3x bridge amounts, destination cW addresses, bridge env, and post-funding deploy block per chain | +| **Mr. Promod Uniswap V2 phase 1 bridge-or-mint runbook** | [03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_OR_MINT_RUNBOOK.md](03-deployment/PROMOD_UNISWAP_V2_PHASE1_BRIDGE_OR_MINT_RUNBOOK.md) — strict runbook that ties the 3x operator packet to bridge preflight, exact mint fallback blocks, and post-funding deploy blocks | +| **Mr. Promod Uniswap V2 phase 1 remaining 8 operator paste pack** | [03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_OPERATOR_PASTE_PACK.md](03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_OPERATOR_PASTE_PACK.md) — one flat paste-ready pack for the remaining eight phase-1 chains after `1` and `137` | +| **Mr. Promod Uniswap V2 phase 1 remaining 8 shell paste pack** | [03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_SHELL_PASTE_PACK.sh](03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_SHELL_PASTE_PACK.sh) — pure shell-only paste pack for the remaining eight phase-1 chains with no markdown headings | | **All additional recommendations (table)** | [00-meta/ADDITIONAL_RECOMMENDATIONS_TABLE.md](00-meta/ADDITIONAL_RECOMMENDATIONS_TABLE.md) — consolidated table of every recommendation with description and command/doc | | **Dotenv & markdown audit (gaps + recommendations)** | [00-meta/DOTENV_AND_MARKDOWN_AUDIT_GAPS_AND_RECOMMENDATIONS.md](00-meta/DOTENV_AND_MARKDOWN_AUDIT_GAPS_AND_RECOMMENDATIONS.md) — required env/markdown info, run results, gaps, recommendations | | **Next steps (concise)** | [00-meta/NEXT_STEPS_LIST.md](00-meta/NEXT_STEPS_LIST.md) — bridge/swap/Phase C status, quick commands | diff --git a/explorer-monorepo b/explorer-monorepo index 3bca5394..be2de2f9 160000 --- a/explorer-monorepo +++ b/explorer-monorepo @@ -1 +1 @@ -Subproject commit 3bca5394fc25c30812f5883420553e7221eb9824 +Subproject commit be2de2f9eb54030c51a8d2db89d13c2c4477c9af diff --git a/gru-docs b/gru-docs index c3a61dd5..45109648 160000 --- a/gru-docs +++ b/gru-docs @@ -1 +1 @@ -Subproject commit c3a61dd5dd2ada68a2cd13cbba872d5a917943be +Subproject commit 45109648644c16ea23d3e19f86db00dca356c7c1 diff --git a/mcp-proxmox b/mcp-proxmox index 1d7e9c2d..3cd98f97 160000 --- a/mcp-proxmox +++ b/mcp-proxmox @@ -1 +1 @@ -Subproject commit 1d7e9c2d4edf6051038a281bfe37e0cdd5606714 +Subproject commit 3cd98f979a37952eb98eb09a55e0a1366dc599cb diff --git a/metamask-integration b/metamask-integration index 522ce988..7e5f65a0 160000 --- a/metamask-integration +++ b/metamask-integration @@ -1 +1 @@ -Subproject commit 522ce98806bc551a0780b02e14aac83a889153f5 +Subproject commit 7e5f65a0863578c83c5f309a49014134d2b9fb51 diff --git a/miracles_in_motion b/miracles_in_motion index 16b9b02d..101fdb90 160000 --- a/miracles_in_motion +++ b/miracles_in_motion @@ -1 +1 @@ -Subproject commit 16b9b02d70ed109344c1dbc0e3de28282e4941c2 +Subproject commit 101fdb90e27db6a59583996fe62751d8e221b9f3 diff --git a/pr-workspace/chains b/pr-workspace/chains index e72abd8b..a35d9cf4 160000 --- a/pr-workspace/chains +++ b/pr-workspace/chains @@ -1 +1 @@ -Subproject commit e72abd8b6b9d04973cd41adffb51ba73605e108b +Subproject commit a35d9cf4df3304215eb6f4cc028dc3a0747e1972 diff --git a/reports/extraction/bridge-canary-plan-latest.json b/reports/extraction/bridge-canary-plan-latest.json new file mode 100644 index 00000000..92d89723 --- /dev/null +++ b/reports/extraction/bridge-canary-plan-latest.json @@ -0,0 +1,78 @@ +{ + "generated_at": "2026-04-17T11:51:07Z", + "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/chain-138-to-wemix-1111-bridge-completion-checklist-latest.json b/reports/extraction/chain-138-to-wemix-1111-bridge-completion-checklist-latest.json new file mode 100644 index 00000000..6d186b95 --- /dev/null +++ b/reports/extraction/chain-138-to-wemix-1111-bridge-completion-checklist-latest.json @@ -0,0 +1,122 @@ +{ + "title": "Chain 138 -> Wemix 1111 Bridge Completion Checklist", + "last_updated": "2026-04-18", + "source_chain_id": 138, + "destination_chain_id": 1111, + "destination_selector": "5142893604156789321", + "current_repo_state": { + "activation_state": "deferred", + "bridge_available": false, + "cw_tokens": { + "cWBTC": "0xcb7c000000000000000000000000000000000457" + }, + "anchor_addresses": { + "USDC": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" + }, + "gas_mirrors": { + "cWWEMIX": "0xc111000000000000000000000000000000000457" + }, + "gas_quote_addresses": { + "WWEMIX": "0xaa91000000000000000000000000000000000457", + "USDC": "0xaa1c000000000000000000000000000000000457" + } + }, + "environment": { + "CCIP_ROUTER_WEMIX": "0x7798b795Fde864f4Cd1b124a38Ba9619B7F8A442", + "LINK_TOKEN_WEMIX": "0x80f1FcdC96B55e459BF52b998aBBE2c364935d69", + "WETH9_WEMIX": "0x7D72b22a74A216Af4a002a1095C8C707d6eC1C5f", + "WETH10_WEMIX": "0x7D72b22a74A216Af4a002a1095C8C707d6eC1C5f", + "CCIPWETH9_BRIDGE_WEMIX": "", + "CCIPWETH10_BRIDGE_WEMIX": "", + "LINK_GAS_AVAILABLE_1111": "0", + "LINK_GAS_UNAVAILABLE_CHAIN_IDS": "25,1111", + "WEMIX_RPC": "https://api.wemix.com", + "CHAIN138_SELECTOR": "138", + "CCIPWETH9_BRIDGE_CHAIN138": "0xcacfd227A040002e49e2e01626363071324f820a", + "CCIPWETH10_BRIDGE_CHAIN138": "0xe0E93247376aa097dB308B92e6Ba36bA015535D0" + }, + "promotion_conditions": [ + "CCIPWETH9_BRIDGE_WEMIX and CCIPWETH10_BRIDGE_WEMIX are deployed and recorded in smom-dbis-138/.env", + "Wemix bridges include CHAIN138_SELECTOR as a destination and Chain 138 bridges include selector 5142893604156789321 as a destination", + "LINK_GAS_AVAILABLE_1111 is non-zero and both WEMIX bridges hold operational LINK balances", + "A small WETH9 or WETH10 test transfer succeeds from Chain 138 to 1111 and back", + "GRU v2 asset rollout prerequisites are satisfied for the specific cW* assets to be enabled on 1111" + ], + "steps": [ + { + "step": 1, + "title": "Preflight WEMIX configuration", + "commands": [ + "cd smom-dbis-138", + "./scripts/deployment/preflight-config-ready-chains.sh wemix" + ], + "checks": [ + "WEMIX_RPC resolves and responds", + "deployer has native WEMIX gas", + "CCIP_ROUTER_WEMIX, LINK_TOKEN_WEMIX, WETH9_WEMIX, and WETH10_WEMIX are set" + ] + }, + { + "step": 2, + "title": "Deploy WETH bridges on chain 1111", + "commands": [ + "cd smom-dbis-138", + "./scripts/deployment/deploy-bridges-config-ready-chains.sh wemix" + ], + "checks": [ + "capture deployed CCIPWETH9Bridge address into CCIPWETH9_BRIDGE_WEMIX", + "capture deployed CCIPWETH10Bridge address into CCIPWETH10_BRIDGE_WEMIX" + ] + }, + { + "step": 3, + "title": "Wire destinations in both directions", + "commands": [ + "cd smom-dbis-138", + "./scripts/deployment/complete-config-ready-chains.sh" + ], + "checks": [ + "Chain 138 WETH9 bridge contains selector 5142893604156789321 -> CCIPWETH9_BRIDGE_WEMIX", + "Chain 138 WETH10 bridge contains selector 5142893604156789321 -> CCIPWETH10_BRIDGE_WEMIX", + "Wemix WETH9 bridge contains CHAIN138_SELECTOR -> CCIPWETH9_BRIDGE_CHAIN138", + "Wemix WETH10 bridge contains CHAIN138_SELECTOR -> CCIPWETH10_BRIDGE_CHAIN138" + ] + }, + { + "step": 4, + "title": "Fund LINK on WEMIX bridges", + "commands": [ + "cd smom-dbis-138", + "./scripts/deployment/check-link-balance-config-ready-chains.sh wemix", + "./scripts/deployment/fund-ccip-bridges-with-link.sh" + ], + "checks": [ + "target at least 10 LINK per bridge", + "LINK_GAS_AVAILABLE_1111 flips from 0 to a positive value" + ] + }, + { + "step": 5, + "title": "Verify bridge readiness", + "commands": [ + "cast call \"$CCIPWETH9_BRIDGE_WEMIX\" 'getDestinationChains()(uint64[])' --rpc-url \"$WEMIX_RPC\"", + "cast call \"$CCIPWETH10_BRIDGE_WEMIX\" 'getDestinationChains()(uint64[])' --rpc-url \"$WEMIX_RPC\"" + ], + "checks": [ + "both directions show configured selectors", + "small WETH9/WETH10 test transfer succeeds" + ] + }, + { + "step": 6, + "title": "Prepare GRU v2 assets for 1111", + "commands": [], + "checks": [ + "confirm which cW* assets beyond cWBTC are intended for 1111", + "deploy or confirm destination cW* token contracts on 1111", + "wire bridge or mint authority for those assets", + "only after asset delivery is live, promote DODO PMM / Uniswap V2 / other venue rollout on 1111" + ] + } + ] +} diff --git a/reports/extraction/comprehensive-capital-baseline-latest.json b/reports/extraction/comprehensive-capital-baseline-latest.json new file mode 100644 index 00000000..308767f7 --- /dev/null +++ b/reports/extraction/comprehensive-capital-baseline-latest.json @@ -0,0 +1,99 @@ +{ + "generated_at": "2026-04-17T15:11:49Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "mainnet_funding_posture": { + "mode": "dual-rail", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT" + ], + "primary_normalization_rail": "cWUSDC -> USDC", + "support_normalization_rail": "cWUSDT -> cWUSDC -> USDC", + "preferred_final_settlement_asset": "USDC", + "notes": [ + "The deployer wallet should maintain both Mainnet wrapped stables.", + "This dual-rail funding posture supports both the primary USDC settlement path and the cUSDT support rail." + ] + }, + "scope": { + "included_wallets": [ + "0x4A666F96fC8764181194447A7dFdb7d471b301C8" + ], + "additional_wallet_inventory": "config/extraction/additional-wallet-inventory.json", + "additional_wallet_inventory_mode": "user-supplied", + "source_to_cex_policy": "config/extraction/source-to-cex-production-policy.json", + "source_to_cex_production_enabled": false + }, + "net_worth_views_usd": { + "near_immediate_mainnet_cw_exit": "17777520.488172", + "same_day_corridor_total": "1381462148.370564" + }, + "additional_inventory": { + "inventory_mode": "user-supplied", + "production_sinks": [ + { + "label": "example-exchange", + "platform": "unknown", + "account_type": "unknown", + "operational_status": "planned", + "enabled_for_production_handoff": false, + "accepted_deposit_assets": [ + "USDC" + ], + "preferred_deposit_asset": "USDC", + "deposit_chain_id": "1", + "deposit_chain_name": "Ethereum Mainnet", + "deposit_address": "", + "min_packet_usd": 1000, + "max_packet_usd": 250000, + "slippage_ceiling_bps": 100, + "asset_balances": [ + { + "symbol": "USDC", + "amount": 0, + "estimated_usd": 0, + "chain_id": "offchain", + "chain_name": "Off-chain / custodial", + "notes": "Replace with a real balance only when you want it counted." + } + ], + "include_in_baseline": false, + "notes": "Replace with a real sink before enabling production handoff." + } + ], + "offchain_count": 1, + "offchain_sink_validation": { + "generated_at": "2026-04-17T15:11:49Z", + "inventory_path": "config/extraction/additional-wallet-inventory.json", + "mainnet_funding_posture": { + "mode": "dual-rail", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT" + ], + "primary_normalization_rail": "cWUSDC -> USDC", + "support_normalization_rail": "cWUSDT -> cWUSDC -> USDC", + "preferred_final_settlement_asset": "USDC", + "notes": [ + "The deployer wallet should maintain both Mainnet wrapped stables.", + "This dual-rail funding posture supports both the primary USDC settlement path and the cUSDT support rail." + ] + }, + "included_sink_count": 0, + "ready": false, + "blocking_issues": [ + "no off-chain sink rows are currently included in baseline scope" + ], + "warnings": [], + "sinks": [] + } + }, + "source_artifacts": { + "immediate_and_same_day_corridor_assets": "reports/extraction/immediate-and-same-day-corridor-assets-latest.json", + "source_to_cex_execution_plan": "reports/extraction/source-to-cex-execution-plan-latest.json", + "source_to_cex_production_readiness": "reports/extraction/source-to-cex-production-readiness-latest.json", + "source_to_cex_offchain_sink_validation": "reports/extraction/source-to-cex-offchain-sink-validation-latest.json", + "source_to_cex_production_policy": "config/extraction/source-to-cex-production-policy.json", + "additional_wallet_inventory": "config/extraction/additional-wallet-inventory.json" + } +} diff --git a/reports/extraction/immediate-and-same-day-corridor-assets-latest.json b/reports/extraction/immediate-and-same-day-corridor-assets-latest.json new file mode 100644 index 00000000..8f4973aa --- /dev/null +++ b/reports/extraction/immediate-and-same-day-corridor-assets-latest.json @@ -0,0 +1,28 @@ +{ + "generated_at": "2026-04-17T11:05:21Z", + "review_date": "2026-04-17", + "scope": { + "included_wallets": [ + "0x4A666F96fC8764181194447A7dFdb7d471b301C8" + ], + "excluded_categories": [ + "unlisted EOAs", + "multisigs not present in repo inputs", + "personal risk preferences" + ], + "additional_wallet_inventory": "config/extraction/additional-wallet-inventory.json", + "additional_wallet_inventory_mode": "user-supplied" + }, + "bucket_subtotals_usd": { + "immediate": "17777520.488172", + "same_day_corridor": "1381462148.370564", + "not_promoted_same_day_or_multi_day": "16146545.95318760949206922340", + "multi_day_or_indeterminate": "5457316857.361955141756801990" + }, + "bucket_counts": { + "immediate": 2, + "same_day_corridor": 5, + "not_promoted_same_day_or_multi_day": 25, + "multi_day_or_indeterminate": 4 + } +} diff --git a/reports/extraction/promod-gru-v2-full-mesh-gap-report-latest.json b/reports/extraction/promod-gru-v2-full-mesh-gap-report-latest.json new file mode 100644 index 00000000..38c737bf --- /dev/null +++ b/reports/extraction/promod-gru-v2-full-mesh-gap-report-latest.json @@ -0,0 +1,2019 @@ +{ + "generated_at": "2026-04-18T11:53:36Z", + "program_name": "promod-gru-v2-full-mesh-gap-report", + "purpose": "Strict per-network GRU v2 cW* mesh report showing what is already live on DODO PMM and Uniswap V2, and what remains before Balancer/Curve-style venue expansion becomes meaningful.", + "accounting_split_rule": { + "source_balance_fraction_to_move": "75%", + "destination_network_count": 10, + "per_chain_fraction_of_current_source_balance": "7.5%", + "base_unit_rule": "amount_75 = balance * 75 // 100; per_chain = amount_75 // 10; remainder stays on Chain 138 or is adjusted on the last transfer" + }, + "repo_reality": { + "chain138_generic_source_to_all_destinations": "not_available_as_single_generic_bridge_button", + "supported_pattern": "destination cW deployment plus lock/mint bridge or destination-side minting through the CW bridge program where selectors, mappings, and destination receivers are actually configured", + "venue_summary": { + "dodo_pmm": "live cW asset pools are recorded across the public network set", + "uniswap_v2": "live core rail is recorded in deployment-status; live wave-1 wrapped mesh completion is tracked separately in the phase-2 completion report", + "balancer": "currently modeled as reference or planned venue surface, not a live cW asset mesh deployment set", + "curve": "currently modeled as reference or planned venue surface, not a live cW asset mesh deployment set", + "uniswap_v3": "currently modeled as reference surface in deployment-status gasReferenceVenues", + "oneinch": "aggregator visibility surface only, not a pool deployment venue" + } + }, + "network_summary": { + "target_chain_ids": [ + 1, + 10, + 25, + 56, + 100, + 137, + 8453, + 42161, + 42220, + 43114 + ], + "dodo_pmm_live_chain_count": 10, + "uniswap_v2_wave1_complete_chain_count": 10, + "balancer_live_chain_count": 0, + "curve_live_chain_count": 0, + "uniswap_v3_live_chain_count": 0 + }, + "chains": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "bridge_available": true, + "cw_asset_count": 13, + "cw_assets": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "venue_status": { + "dodo_pmm": { + "status": "live", + "live_pair_count": 15, + "live_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWUSDC/USDC", + "cWUSDC/USDT", + "cWUSDT/USDC", + "cWUSDT/USDT", + "cWUSDT/cWUSDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "live_asset_count": 12, + "live_assets": [ + "cWAUDC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ] + }, + "uniswap_v2": { + "status": "wave1_live", + "core_pair_count": 1, + "core_pairs": [ + "cWUSDT/cWUSDC" + ], + "wave1_pair_count": 6, + "wave1_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT" + ], + "wave1_asset_count": 5, + "wave1_assets": [ + "cWAUDC", + "cWEURC", + "cWGBPC", + "cWUSDC", + "cWUSDT" + ] + }, + "balancer": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_mainnet", + "protocol": "balancer", + "base": "cWETH", + "quote": "USDC", + "venueAddress": "0xba11000000000000000000000000000000000001", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "curve": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_mainnet", + "protocol": "curve", + "base": "cWETH", + "quote": "USDC", + "venueAddress": "0xc711000000000000000000000000000000000001", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "uniswap_v3": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_mainnet", + "protocol": "uniswap_v3", + "base": "cWETH", + "quote": "WETH", + "venueAddress": "0x7111000000000000000000000000000000000001", + "supported": true, + "live": false, + "routingVisible": false, + "reference": true, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "oneinch": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_mainnet", + "protocol": "1inch", + "base": "cWETH", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] + } + }, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "recommended_next_wrapped_mesh_pairs": [ + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "bridge_available": true, + "cw_asset_count": 13, + "cw_assets": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "venue_status": { + "dodo_pmm": { + "status": "live", + "live_pair_count": 12, + "live_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWUSDC/USDC", + "cWUSDT/USDT", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "live_asset_count": 12, + "live_assets": [ + "cWAUDC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ] + }, + "uniswap_v2": { + "status": "wave1_live", + "core_pair_count": 1, + "core_pairs": [ + "cWUSDT/cWUSDC" + ], + "wave1_pair_count": 6, + "wave1_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT" + ], + "wave1_asset_count": 5, + "wave1_assets": [ + "cWAUDC", + "cWEURC", + "cWGBPC", + "cWUSDC", + "cWUSDT" + ] + }, + "balancer": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_l2", + "protocol": "balancer", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": "0xba2100000000000000000000000000000000000a", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "curve": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_l2", + "protocol": "curve", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": "0xc72100000000000000000000000000000000000a", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "uniswap_v3": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_l2", + "protocol": "uniswap_v3", + "base": "cWETHL2", + "quote": "WETH", + "venueAddress": "0x712100000000000000000000000000000000000a", + "supported": true, + "live": false, + "routingVisible": false, + "reference": true, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "oneinch": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_l2", + "protocol": "1inch", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] + } + }, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "recommended_next_wrapped_mesh_pairs": [ + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "bridge_available": true, + "cw_asset_count": 13, + "cw_assets": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "venue_status": { + "dodo_pmm": { + "status": "live", + "live_pair_count": 12, + "live_pairs": [ + "cWAUDC/USDT", + "cWCADC/USDT", + "cWCHFC/USDT", + "cWEURC/USDT", + "cWEURT/USDT", + "cWGBPC/USDT", + "cWGBPT/USDT", + "cWJPYC/USDT", + "cWUSDC/USDC", + "cWUSDT/USDT", + "cWXAUC/USDT", + "cWXAUT/USDT" + ], + "live_asset_count": 12, + "live_assets": [ + "cWAUDC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ] + }, + "uniswap_v2": { + "status": "wave1_live", + "core_pair_count": 1, + "core_pairs": [ + "cWUSDT/cWUSDC" + ], + "wave1_pair_count": 6, + "wave1_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT" + ], + "wave1_asset_count": 5, + "wave1_assets": [ + "cWAUDC", + "cWEURC", + "cWGBPC", + "cWUSDC", + "cWUSDT" + ] + }, + "balancer": { + "status": "unsupported", + "supported": false, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "cro", + "protocol": "balancer", + "base": "cWCRO", + "quote": "USDT", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + } + ] + }, + "curve": { + "status": "unsupported", + "supported": false, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "cro", + "protocol": "curve", + "base": "cWCRO", + "quote": "USDT", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + } + ] + }, + "uniswap_v3": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "cro", + "protocol": "uniswap_v3", + "base": "cWCRO", + "quote": "WCRO", + "venueAddress": "0x7161000000000000000000000000000000000019", + "supported": true, + "live": false, + "routingVisible": false, + "reference": true, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "oneinch": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "cro", + "protocol": "1inch", + "base": "cWCRO", + "quote": "USDT", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] + } + }, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "recommended_next_wrapped_mesh_pairs": [ + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "bridge_available": true, + "cw_asset_count": 15, + "cw_assets": [ + "cWAUDC", + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "venue_status": { + "dodo_pmm": { + "status": "live", + "live_pair_count": 10, + "live_pairs": [ + "cWAUDC/USDT", + "cWCADC/USDT", + "cWCHFC/USDT", + "cWEURC/USDT", + "cWEURT/USDT", + "cWGBPC/USDT", + "cWGBPT/USDT", + "cWJPYC/USDT", + "cWXAUC/USDT", + "cWXAUT/USDT" + ], + "live_asset_count": 10, + "live_assets": [ + "cWAUDC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ] + }, + "uniswap_v2": { + "status": "wave1_live", + "core_pair_count": 1, + "core_pairs": [ + "cWUSDT/cWUSDC" + ], + "wave1_pair_count": 6, + "wave1_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT" + ], + "wave1_asset_count": 5, + "wave1_assets": [ + "cWAUDC", + "cWEURC", + "cWGBPC", + "cWUSDC", + "cWUSDT" + ] + }, + "balancer": { + "status": "unsupported", + "supported": false, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "bnb", + "protocol": "balancer", + "base": "cWBNB", + "quote": "USDT", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + } + ] + }, + "curve": { + "status": "unsupported", + "supported": false, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "bnb", + "protocol": "curve", + "base": "cWBNB", + "quote": "USDT", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + } + ] + }, + "uniswap_v3": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "bnb", + "protocol": "uniswap_v3", + "base": "cWBNB", + "quote": "WBNB", + "venueAddress": "0x7131000000000000000000000000000000000038", + "supported": true, + "live": false, + "routingVisible": false, + "reference": true, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "oneinch": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "bnb", + "protocol": "1inch", + "base": "cWBNB", + "quote": "USDT", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] + } + }, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "recommended_next_wrapped_mesh_pairs": [ + "cWAUSDT/cWUSDC", + "cWAUSDT/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWUSDW/cWUSDC", + "cWUSDW/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "bridge_available": true, + "cw_asset_count": 13, + "cw_assets": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "venue_status": { + "dodo_pmm": { + "status": "live", + "live_pair_count": 10, + "live_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "live_asset_count": 10, + "live_assets": [ + "cWAUDC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ] + }, + "uniswap_v2": { + "status": "wave1_live", + "core_pair_count": 1, + "core_pairs": [ + "cWUSDT/cWUSDC" + ], + "wave1_pair_count": 6, + "wave1_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT" + ], + "wave1_asset_count": 5, + "wave1_assets": [ + "cWAUDC", + "cWEURC", + "cWGBPC", + "cWUSDC", + "cWUSDT" + ] + }, + "balancer": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "xdai", + "protocol": "balancer", + "base": "cWXDAI", + "quote": "USDC", + "venueAddress": "0xba71000000000000000000000000000000000064", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "curve": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "xdai", + "protocol": "curve", + "base": "cWXDAI", + "quote": "USDC", + "venueAddress": "0xc771000000000000000000000000000000000064", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "uniswap_v3": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "xdai", + "protocol": "uniswap_v3", + "base": "cWXDAI", + "quote": "WXDAI", + "venueAddress": "0x7171000000000000000000000000000000000064", + "supported": true, + "live": false, + "routingVisible": false, + "reference": true, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "oneinch": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "xdai", + "protocol": "1inch", + "base": "cWXDAI", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] + } + }, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "recommended_next_wrapped_mesh_pairs": [ + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "bridge_available": true, + "cw_asset_count": 14, + "cw_assets": [ + "cWAUDC", + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "venue_status": { + "dodo_pmm": { + "status": "live", + "live_pair_count": 12, + "live_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWUSDC/USDC", + "cWUSDT/USDT", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "live_asset_count": 12, + "live_assets": [ + "cWAUDC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ] + }, + "uniswap_v2": { + "status": "wave1_live", + "core_pair_count": 1, + "core_pairs": [ + "cWUSDT/cWUSDC" + ], + "wave1_pair_count": 6, + "wave1_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT" + ], + "wave1_asset_count": 5, + "wave1_assets": [ + "cWAUDC", + "cWEURC", + "cWGBPC", + "cWUSDC", + "cWUSDT" + ] + }, + "balancer": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "pol", + "protocol": "balancer", + "base": "cWPOL", + "quote": "USDC", + "venueAddress": "0xba41000000000000000000000000000000000089", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "curve": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "pol", + "protocol": "curve", + "base": "cWPOL", + "quote": "USDC", + "venueAddress": "0xc741000000000000000000000000000000000089", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "uniswap_v3": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "pol", + "protocol": "uniswap_v3", + "base": "cWPOL", + "quote": "WPOL", + "venueAddress": "0x7141000000000000000000000000000000000089", + "supported": true, + "live": false, + "routingVisible": false, + "reference": true, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "oneinch": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "pol", + "protocol": "1inch", + "base": "cWPOL", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] + } + }, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "recommended_next_wrapped_mesh_pairs": [ + "cWAUSDT/cWUSDC", + "cWAUSDT/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "bridge_available": true, + "cw_asset_count": 13, + "cw_assets": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "venue_status": { + "dodo_pmm": { + "status": "live", + "live_pair_count": 10, + "live_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "live_asset_count": 10, + "live_assets": [ + "cWAUDC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ] + }, + "uniswap_v2": { + "status": "wave1_live", + "core_pair_count": 1, + "core_pairs": [ + "cWUSDT/cWUSDC" + ], + "wave1_pair_count": 6, + "wave1_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT" + ], + "wave1_asset_count": 5, + "wave1_assets": [ + "cWAUDC", + "cWEURC", + "cWGBPC", + "cWUSDC", + "cWUSDT" + ] + }, + "balancer": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_l2", + "protocol": "balancer", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": "0xba21000000000000000000000000000000002105", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "curve": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_l2", + "protocol": "curve", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": "0xc721000000000000000000000000000000002105", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "uniswap_v3": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_l2", + "protocol": "uniswap_v3", + "base": "cWETHL2", + "quote": "WETH", + "venueAddress": "0x7121000000000000000000000000000000002105", + "supported": true, + "live": false, + "routingVisible": false, + "reference": true, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "oneinch": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_l2", + "protocol": "1inch", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] + } + }, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "recommended_next_wrapped_mesh_pairs": [ + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "bridge_available": true, + "cw_asset_count": 13, + "cw_assets": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "venue_status": { + "dodo_pmm": { + "status": "live", + "live_pair_count": 10, + "live_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "live_asset_count": 10, + "live_assets": [ + "cWAUDC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ] + }, + "uniswap_v2": { + "status": "wave1_live", + "core_pair_count": 1, + "core_pairs": [ + "cWUSDT/cWUSDC" + ], + "wave1_pair_count": 6, + "wave1_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT" + ], + "wave1_asset_count": 5, + "wave1_assets": [ + "cWAUDC", + "cWEURC", + "cWGBPC", + "cWUSDC", + "cWUSDT" + ] + }, + "balancer": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_l2", + "protocol": "balancer", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": "0xba2100000000000000000000000000000000a4b1", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "curve": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_l2", + "protocol": "curve", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": "0xc72100000000000000000000000000000000a4b1", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "uniswap_v3": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_l2", + "protocol": "uniswap_v3", + "base": "cWETHL2", + "quote": "WETH", + "venueAddress": "0x712100000000000000000000000000000000a4b1", + "supported": true, + "live": false, + "routingVisible": false, + "reference": true, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "oneinch": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "eth_l2", + "protocol": "1inch", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] + } + }, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "recommended_next_wrapped_mesh_pairs": [ + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "bridge_available": true, + "cw_asset_count": 15, + "cw_assets": [ + "cWAUDC", + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "venue_status": { + "dodo_pmm": { + "status": "live", + "live_pair_count": 10, + "live_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "live_asset_count": 10, + "live_assets": [ + "cWAUDC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ] + }, + "uniswap_v2": { + "status": "wave1_live", + "core_pair_count": 1, + "core_pairs": [ + "cWUSDT/cWUSDC" + ], + "wave1_pair_count": 6, + "wave1_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT" + ], + "wave1_asset_count": 5, + "wave1_assets": [ + "cWAUDC", + "cWEURC", + "cWGBPC", + "cWUSDC", + "cWUSDT" + ] + }, + "balancer": { + "status": "unsupported", + "supported": false, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "celo", + "protocol": "balancer", + "base": "cWCELO", + "quote": "USDC", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + } + ] + }, + "curve": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "celo", + "protocol": "curve", + "base": "cWCELO", + "quote": "USDC", + "venueAddress": "0xc78100000000000000000000000000000000a4ec", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "uniswap_v3": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "celo", + "protocol": "uniswap_v3", + "base": "cWCELO", + "quote": "WCELO", + "venueAddress": "0x718100000000000000000000000000000000a4ec", + "supported": true, + "live": false, + "routingVisible": false, + "reference": true, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "oneinch": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "celo", + "protocol": "1inch", + "base": "cWCELO", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] + } + }, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "recommended_next_wrapped_mesh_pairs": [ + "cWAUSDT/cWUSDC", + "cWAUSDT/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWUSDW/cWUSDC", + "cWUSDW/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "bridge_available": true, + "cw_asset_count": 15, + "cw_assets": [ + "cWAUDC", + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "venue_status": { + "dodo_pmm": { + "status": "live", + "live_pair_count": 10, + "live_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "live_asset_count": 10, + "live_assets": [ + "cWAUDC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ] + }, + "uniswap_v2": { + "status": "wave1_live", + "core_pair_count": 1, + "core_pairs": [ + "cWUSDT/cWUSDC" + ], + "wave1_pair_count": 6, + "wave1_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT" + ], + "wave1_asset_count": 5, + "wave1_assets": [ + "cWAUDC", + "cWEURC", + "cWGBPC", + "cWUSDC", + "cWUSDT" + ] + }, + "balancer": { + "status": "unsupported", + "supported": false, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "avax", + "protocol": "balancer", + "base": "cWAVAX", + "quote": "USDC", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + } + ] + }, + "curve": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "avax", + "protocol": "curve", + "base": "cWAVAX", + "quote": "USDC", + "venueAddress": "0xc75100000000000000000000000000000000a86a", + "supported": true, + "live": false, + "routingVisible": false, + "reference": false, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "uniswap_v3": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "avax", + "protocol": "uniswap_v3", + "base": "cWAVAX", + "quote": "WAVAX", + "venueAddress": "0x715100000000000000000000000000000000a86a", + "supported": true, + "live": false, + "routingVisible": false, + "reference": true, + "notes": [ + "placeholder_scaffold_not_live" + ] + } + ] + }, + "oneinch": { + "status": "reference_only", + "supported": true, + "live": false, + "routing_visible": false, + "rows": [ + { + "familyKey": "avax", + "protocol": "1inch", + "base": "cWAVAX", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] + } + }, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "recommended_next_wrapped_mesh_pairs": [ + "cWAUSDT/cWUSDC", + "cWAUSDT/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWUSDW/cWUSDC", + "cWUSDW/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ] + } + ], + "source_artifacts": [ + "cross-chain-pmm-lps/config/deployment-status.json", + "reports/extraction/promod-uniswap-v2-phase2-wave1-completion-status-latest.json", + "config/token-mapping-multichain.json", + "docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-first-deployment-target-matrix-latest.json b/reports/extraction/promod-uniswap-v2-first-deployment-target-matrix-latest.json new file mode 100644 index 00000000..bcfa6832 --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-first-deployment-target-matrix-latest.json @@ -0,0 +1,672 @@ +{ + "generated_at": "2026-04-17T17:47:29Z", + "program_name": "Mr. Promod Uniswap V2 cW Deep Liquidity Program", + "purpose": "Exact first-pair deployment target matrix for Mr. Promod's Uniswap V2 rollout.", + "mainnet_funding_posture": { + "mode": "triple-rail-support", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT", + "cWAUSDT" + ], + "notes": [ + "cWUSDC and cWUSDT remain the core settlement-adjacent rails.", + "cWAUSDT is the wrapped-depth support asset when canonical USDC or USDT inventory is not yet deep enough." + ] + }, + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "tier": "tier_1", + "hub_stable": "USDC", + "first_pair": "cWUSDT/cWUSDC", + "why_it_should_be_first": "Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented.", + "required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "next_wrapped_expansion_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "required_token_addresses_present": [ + true, + true + ], + "chain_ready_for_deploy_prep": true, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_deploy_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "tier": "tier_1", + "hub_stable": "USDC", + "first_pair": "cWUSDT/cWUSDC", + "why_it_should_be_first": "Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented.", + "required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "next_wrapped_expansion_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "required_token_addresses_present": [ + true, + true + ], + "chain_ready_for_deploy_prep": true, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_deploy_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "tier": "tier_2", + "hub_stable": "USDT", + "first_pair": "cWUSDT/cWUSDC", + "why_it_should_be_first": "Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented.", + "required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "next_wrapped_expansion_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "required_token_addresses_present": [ + true, + true + ], + "chain_ready_for_deploy_prep": true, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_deploy_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "tier": "tier_2", + "hub_stable": "USDT", + "first_pair": "cWUSDT/cWUSDC", + "why_it_should_be_first": "Core wrapped support rail and the one we are standardizing on first; it creates transferable depth between the two settlement-adjacent cW rails before any canonical stable exit pool.", + "required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "next_wrapped_expansion_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWUSDW/cWUSDC", + "cWUSDW/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "required_token_addresses_present": [ + true, + true + ], + "chain_ready_for_deploy_prep": true, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_deploy_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "tier": "tier_2", + "hub_stable": "USDC", + "first_pair": "cWUSDT/cWUSDC", + "why_it_should_be_first": "Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented.", + "required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "next_wrapped_expansion_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "required_token_addresses_present": [ + true, + true + ], + "chain_ready_for_deploy_prep": true, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_deploy_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "tier": "tier_1", + "hub_stable": "USDC", + "first_pair": "cWUSDT/cWUSDC", + "why_it_should_be_first": "Core wrapped support rail and the one we are standardizing on first; it creates transferable depth between the two settlement-adjacent cW rails before any canonical stable exit pool.", + "required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "next_wrapped_expansion_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "required_token_addresses_present": [ + true, + true + ], + "chain_ready_for_deploy_prep": true, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_deploy_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "tier": "tier_1", + "hub_stable": "USDC", + "first_pair": "cWUSDT/cWUSDC", + "why_it_should_be_first": "Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented.", + "required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "next_wrapped_expansion_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "required_token_addresses_present": [ + true, + true + ], + "chain_ready_for_deploy_prep": true, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_deploy_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "tier": "tier_1", + "hub_stable": "USDC", + "first_pair": "cWUSDT/cWUSDC", + "why_it_should_be_first": "Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented.", + "required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "next_wrapped_expansion_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "required_token_addresses_present": [ + true, + true + ], + "chain_ready_for_deploy_prep": true, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_deploy_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "tier": "tier_2", + "hub_stable": "USDC", + "first_pair": "cWUSDT/cWUSDC", + "why_it_should_be_first": "Core wrapped support rail and the one we are standardizing on first; it creates transferable depth between the two settlement-adjacent cW rails before any canonical stable exit pool.", + "required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "next_wrapped_expansion_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWUSDW/cWUSDC", + "cWUSDW/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "required_token_addresses_present": [ + true, + true + ], + "chain_ready_for_deploy_prep": true, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_deploy_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "tier": "tier_2", + "hub_stable": "USDC", + "first_pair": "cWUSDT/cWUSDC", + "why_it_should_be_first": "Core wrapped support rail and the one we are standardizing on first; it creates transferable depth between the two settlement-adjacent cW rails before any canonical stable exit pool.", + "required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "next_wrapped_expansion_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWUSDW/cWUSDC", + "cWUSDW/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "required_token_addresses_present": [ + true, + true + ], + "chain_ready_for_deploy_prep": true, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_deploy_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-liquidity-program-latest.json", + "reports/extraction/promod-uniswap-v2-promotion-gates-latest.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-liquidity-program-latest.json b/reports/extraction/promod-uniswap-v2-liquidity-program-latest.json new file mode 100644 index 00000000..5fa794ed --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-liquidity-program-latest.json @@ -0,0 +1,897 @@ +{ + "generated_at": "2026-04-17T17:47:28Z", + "program_name": "Mr. Promod Uniswap V2 cW Deep Liquidity Program", + "purpose": "Define the desired-state Uniswap V2 or Uniswap-V2-compatible liquidity rollout for cW* and cWAUSDT rails on bridged public networks.", + "operator_rule": "When canonical USDC or USDT depth is scarce, concentrate depth first in wrapped support rails and then expand into canonical settlement rails.", + "mainnet_funding_posture": { + "mode": "triple-rail-support", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT", + "cWAUSDT" + ], + "notes": [ + "cWUSDC and cWUSDT remain the core settlement-adjacent rails.", + "cWAUSDT is the wrapped-depth support asset when canonical USDC or USDT inventory is not yet deep enough." + ] + }, + "wrapped_depth_phase": { + "preferred_pairs_in_order": [ + "cWAUSDT/cWUSDC", + "cWAUSDT/cWUSDT", + "cWUSDT/cWUSDC" + ], + "allocation_share_pct": { + "flagship_pair": 50, + "second_pair": 30, + "third_pair": 20 + }, + "notes": [ + "This phase is for creating visibly deep wrapped-to-wrapped liquidity before canonical settlement rails are deep enough.", + "Wrapped-depth pools strengthen routing and inventory transfer between the cW settlement rails and cWAUSDT support inventory.", + "These pools do not replace the eventual need for direct canonical settlement rails." + ] + }, + "settlement_phase": { + "preferred_pairs_by_hub": { + "USDC": [ + "cWUSDC/USDC", + "cWUSDT/USDC", + "cWAUSDT/USDC" + ], + "USDT": [ + "cWUSDT/USDT", + "cWUSDC/USDT", + "cWAUSDT/USDT" + ] + }, + "notes": [ + "Settlement-phase pools remain the preferred terminal rails for exchange and OTC normalization.", + "Promote settlement rails only after wrapped-depth support is stable and enough canonical stable inventory is available." + ] + }, + "priority_tiers": { + "tier_1": [ + "1", + "8453", + "42161", + "10", + "137" + ], + "tier_2": [ + "56", + "43114", + "100", + "42220", + "25" + ], + "tier_3": [ + "1111" + ] + }, + "tier_counts": { + "tier_1": 5, + "tier_2": 5 + }, + "registry_sources": [ + "cross-chain-pmm-lps/config/pool-matrix.json", + "cross-chain-pmm-lps/config/deployment-status.json", + "config/extraction/promod-uniswap-v2-liquidity-policy.json" + ], + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "tier": "tier_1", + "hub_stable": "USDC", + "bridge_available": true, + "documented_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "additional_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wrapped_depth_phase_pairs": [ + "cWUSDT/cWUSDC" + ], + "additional_wrapped_depth_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "settlement_phase_pairs": [ + "cWUSDC/USDC", + "cWUSDT/USDC" + ], + "existing_pmm_analogs": [ + "cWUSDC/USDC", + "cWUSDT/USDC", + "cWUSDT/cWUSDC" + ], + "uniswap_v2_deployment_status": "planned", + "required_uniswap_v2_env_suffixes": [ + "UNISWAP_V2_FACTORY", + "UNISWAP_V2_ROUTER", + "UNISWAP_V2_START_BLOCK" + ], + "blockers": [ + "Uniswap V2 factory/router addresses are not documented in-repo for this chain; env-backed deployment or factory mapping is still required.", + "New Uniswap V2 pools must be added to token-aggregation indexing and MCP/API visibility before promotion.", + "cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC." + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "tier": "tier_1", + "hub_stable": "USDC", + "bridge_available": true, + "documented_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "additional_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wrapped_depth_phase_pairs": [ + "cWUSDT/cWUSDC" + ], + "additional_wrapped_depth_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "settlement_phase_pairs": [ + "cWUSDC/USDC", + "cWUSDT/USDC" + ], + "existing_pmm_analogs": [ + "cWUSDC/USDC" + ], + "uniswap_v2_deployment_status": "planned", + "required_uniswap_v2_env_suffixes": [ + "UNISWAP_V2_FACTORY", + "UNISWAP_V2_ROUTER", + "UNISWAP_V2_START_BLOCK" + ], + "blockers": [ + "Uniswap V2 factory/router addresses are not documented in-repo for this chain; env-backed deployment or factory mapping is still required.", + "New Uniswap V2 pools must be added to token-aggregation indexing and MCP/API visibility before promotion.", + "cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC." + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "tier": "tier_2", + "hub_stable": "USDT", + "bridge_available": true, + "documented_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "additional_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wrapped_depth_phase_pairs": [ + "cWUSDT/cWUSDC" + ], + "additional_wrapped_depth_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "settlement_phase_pairs": [ + "cWUSDC/USDT", + "cWUSDT/USDT" + ], + "existing_pmm_analogs": [ + "cWUSDT/USDT" + ], + "uniswap_v2_deployment_status": "planned", + "required_uniswap_v2_env_suffixes": [ + "UNISWAP_V2_FACTORY", + "UNISWAP_V2_ROUTER", + "UNISWAP_V2_START_BLOCK" + ], + "blockers": [ + "Uniswap V2 factory/router addresses are not documented in-repo for this chain; env-backed deployment or factory mapping is still required.", + "New Uniswap V2 pools must be added to token-aggregation indexing and MCP/API visibility before promotion.", + "cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC." + ] + }, + { + "chain_id": 56, + "network": "BSC", + "tier": "tier_2", + "hub_stable": "USDT", + "bridge_available": true, + "documented_cw_tokens": [ + "cWAUDC", + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "additional_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "wrapped_depth_phase_pairs": [ + "cWAUSDT/cWUSDC", + "cWAUSDT/cWUSDT", + "cWUSDT/cWUSDC" + ], + "additional_wrapped_depth_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWUSDW/cWUSDC", + "cWUSDW/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "settlement_phase_pairs": [ + "cWUSDC/USDT", + "cWUSDT/USDT", + "cWAUSDT/USDT" + ], + "existing_pmm_analogs": [], + "uniswap_v2_deployment_status": "planned", + "required_uniswap_v2_env_suffixes": [ + "UNISWAP_V2_FACTORY", + "UNISWAP_V2_ROUTER", + "UNISWAP_V2_START_BLOCK" + ], + "blockers": [ + "Uniswap V2 factory/router addresses are not documented in-repo for this chain; env-backed deployment or factory mapping is still required.", + "New Uniswap V2 pools must be added to token-aggregation indexing and MCP/API visibility before promotion." + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "tier": "tier_2", + "hub_stable": "USDC", + "bridge_available": true, + "documented_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "additional_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wrapped_depth_phase_pairs": [ + "cWUSDT/cWUSDC" + ], + "additional_wrapped_depth_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "settlement_phase_pairs": [ + "cWUSDC/USDC", + "cWUSDT/USDC" + ], + "existing_pmm_analogs": [], + "uniswap_v2_deployment_status": "planned", + "required_uniswap_v2_env_suffixes": [ + "UNISWAP_V2_FACTORY", + "UNISWAP_V2_ROUTER", + "UNISWAP_V2_START_BLOCK" + ], + "blockers": [ + "Uniswap V2 factory/router addresses are not documented in-repo for this chain; env-backed deployment or factory mapping is still required.", + "New Uniswap V2 pools must be added to token-aggregation indexing and MCP/API visibility before promotion.", + "cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC." + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "tier": "tier_1", + "hub_stable": "USDC", + "bridge_available": true, + "documented_cw_tokens": [ + "cWAUDC", + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "additional_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wrapped_depth_phase_pairs": [ + "cWAUSDT/cWUSDC", + "cWAUSDT/cWUSDT", + "cWUSDT/cWUSDC" + ], + "additional_wrapped_depth_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "settlement_phase_pairs": [ + "cWUSDC/USDC", + "cWUSDT/USDC", + "cWAUSDT/USDC" + ], + "existing_pmm_analogs": [ + "cWUSDC/USDC" + ], + "uniswap_v2_deployment_status": "planned", + "required_uniswap_v2_env_suffixes": [ + "UNISWAP_V2_FACTORY", + "UNISWAP_V2_ROUTER", + "UNISWAP_V2_START_BLOCK" + ], + "blockers": [ + "Uniswap V2 factory/router addresses are not documented in-repo for this chain; env-backed deployment or factory mapping is still required.", + "New Uniswap V2 pools must be added to token-aggregation indexing and MCP/API visibility before promotion." + ] + }, + { + "chain_id": 8453, + "network": "Base", + "tier": "tier_1", + "hub_stable": "USDC", + "bridge_available": true, + "documented_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "additional_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wrapped_depth_phase_pairs": [ + "cWUSDT/cWUSDC" + ], + "additional_wrapped_depth_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "settlement_phase_pairs": [ + "cWUSDC/USDC", + "cWUSDT/USDC" + ], + "existing_pmm_analogs": [], + "uniswap_v2_deployment_status": "planned", + "required_uniswap_v2_env_suffixes": [ + "UNISWAP_V2_FACTORY", + "UNISWAP_V2_ROUTER", + "UNISWAP_V2_START_BLOCK" + ], + "blockers": [ + "Uniswap V2 factory/router addresses are not documented in-repo for this chain; env-backed deployment or factory mapping is still required.", + "New Uniswap V2 pools must be added to token-aggregation indexing and MCP/API visibility before promotion.", + "cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC." + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "tier": "tier_1", + "hub_stable": "USDC", + "bridge_available": true, + "documented_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "additional_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wrapped_depth_phase_pairs": [ + "cWUSDT/cWUSDC" + ], + "additional_wrapped_depth_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "settlement_phase_pairs": [ + "cWUSDC/USDC", + "cWUSDT/USDC" + ], + "existing_pmm_analogs": [], + "uniswap_v2_deployment_status": "planned", + "required_uniswap_v2_env_suffixes": [ + "UNISWAP_V2_FACTORY", + "UNISWAP_V2_ROUTER", + "UNISWAP_V2_START_BLOCK" + ], + "blockers": [ + "Uniswap V2 factory/router addresses are not documented in-repo for this chain; env-backed deployment or factory mapping is still required.", + "New Uniswap V2 pools must be added to token-aggregation indexing and MCP/API visibility before promotion.", + "cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC." + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "tier": "tier_2", + "hub_stable": "USDC", + "bridge_available": true, + "documented_cw_tokens": [ + "cWAUDC", + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "additional_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "wrapped_depth_phase_pairs": [ + "cWAUSDT/cWUSDC", + "cWAUSDT/cWUSDT", + "cWUSDT/cWUSDC" + ], + "additional_wrapped_depth_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWUSDW/cWUSDC", + "cWUSDW/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "settlement_phase_pairs": [ + "cWUSDC/USDC", + "cWUSDT/USDC", + "cWAUSDT/USDC" + ], + "existing_pmm_analogs": [], + "uniswap_v2_deployment_status": "planned", + "required_uniswap_v2_env_suffixes": [ + "UNISWAP_V2_FACTORY", + "UNISWAP_V2_ROUTER", + "UNISWAP_V2_START_BLOCK" + ], + "blockers": [ + "Uniswap V2 factory/router addresses are not documented in-repo for this chain; env-backed deployment or factory mapping is still required.", + "New Uniswap V2 pools must be added to token-aggregation indexing and MCP/API visibility before promotion." + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "tier": "tier_2", + "hub_stable": "USDC", + "bridge_available": true, + "documented_cw_tokens": [ + "cWAUDC", + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "additional_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "wrapped_depth_phase_pairs": [ + "cWAUSDT/cWUSDC", + "cWAUSDT/cWUSDT", + "cWUSDT/cWUSDC" + ], + "additional_wrapped_depth_pairs": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWUSDW/cWUSDC", + "cWUSDW/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "settlement_phase_pairs": [ + "cWUSDC/USDC", + "cWUSDT/USDC", + "cWAUSDT/USDC" + ], + "existing_pmm_analogs": [], + "uniswap_v2_deployment_status": "planned", + "required_uniswap_v2_env_suffixes": [ + "UNISWAP_V2_FACTORY", + "UNISWAP_V2_ROUTER", + "UNISWAP_V2_START_BLOCK" + ], + "blockers": [ + "Uniswap V2 factory/router addresses are not documented in-repo for this chain; env-backed deployment or factory mapping is still required.", + "New Uniswap V2 pools must be added to token-aggregation indexing and MCP/API visibility before promotion." + ] + } + ] +} diff --git a/reports/extraction/promod-uniswap-v2-live-pair-discovery-latest.json b/reports/extraction/promod-uniswap-v2-live-pair-discovery-latest.json new file mode 100644 index 00000000..414c1f52 --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-live-pair-discovery-latest.json @@ -0,0 +1,580 @@ +{ + "generated_at": "2026-04-18T17:04:47Z", + "write_discovered": false, + "discovered_live_pair_count": 19, + "healthy_live_pair_count": 7, + "writes_applied": [], + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "factoryAddress": "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f", + "routerAddress": "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D", + "startBlock": 0, + "rpcConfigured": true, + "envReady": true, + "pairsChecked": [ + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0xC28706F899266b36BC43cc072b3a921BDf2C48D9", + "live": true, + "health": { + "baseReserveRaw": "6267", + "quoteReserveRaw": "6267", + "baseReserveUnits": "0.006267", + "quoteReserveUnits": "0.006267", + "priceQuotePerBase": "1", + "deviationBps": "0", + "depthOk": false, + "parityOk": true, + "healthy": false + } + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x422608c5dDff909675ac2C5F872fD42f16B9287A", + "live": true, + "health": { + "baseReserveRaw": "8", + "quoteReserveRaw": "8888510473469", + "baseReserveUnits": "0.000008", + "quoteReserveUnits": "8888510.473469", + "priceQuotePerBase": "1111063809183.625", + "deviationBps": "11110638091826250.000", + "depthOk": false, + "parityOk": false, + "healthy": false + } + } + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "factoryAddress": "0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf", + "routerAddress": "0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2", + "startBlock": 0, + "rpcConfigured": true, + "envReady": true, + "pairsChecked": [ + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0xe28BFf306442a8A512d2441847c27211a7C4C613", + "live": true, + "health": { + "baseReserveRaw": "3000000000", + "quoteReserveRaw": "3000000000", + "baseReserveUnits": "3000", + "quoteReserveUnits": "3000", + "priceQuotePerBase": "1", + "deviationBps": "0", + "depthOk": true, + "parityOk": true, + "healthy": true + } + } + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "factoryAddress": "0x3B44B2a187a7b3824131F8db5a74194D0a42Fc15", + "routerAddress": "0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae", + "startBlock": 0, + "rpcConfigured": true, + "envReady": true, + "pairsChecked": [ + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x438d8E1a8E311d2ae4b75a38E0044675fD324133", + "live": true, + "health": { + "baseReserveRaw": "3000000000", + "quoteReserveRaw": "3000000000", + "baseReserveUnits": "3000", + "quoteReserveUnits": "3000", + "priceQuotePerBase": "1", + "deviationBps": "0", + "depthOk": true, + "parityOk": true, + "healthy": true + } + } + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "factoryAddress": "0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73", + "routerAddress": "0x10ED43C718714eb63d5aA57B78B54704E256024E", + "startBlock": 0, + "rpcConfigured": true, + "envReady": true, + "pairsChecked": [ + { + "base": "cWUSDC", + "quote": "USDT", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "USDT", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWAUSDT", + "quote": "USDT", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x7e308c12bd609607DF9C4137E30235D5A9Da2A64", + "live": true, + "health": { + "baseReserveRaw": "3000000000", + "quoteReserveRaw": "3000000000", + "baseReserveUnits": "3000", + "quoteReserveUnits": "3000", + "priceQuotePerBase": "1", + "deviationBps": "0", + "depthOk": true, + "parityOk": true, + "healthy": true + } + }, + { + "base": "cWAUSDT", + "quote": "cWUSDT", + "poolAddress": "0xe9b082bAa73Fa4DEc7CB3CbD99B19D30BbfE1523", + "live": true, + "health": { + "baseReserveRaw": "1500000000", + "quoteReserveRaw": "1000000000", + "baseReserveUnits": "1500", + "quoteReserveUnits": "1000", + "priceQuotePerBase": "0.666666666666666666666666666666666666666667", + "deviationBps": "3333.33333333333333333333333333333333333333", + "depthOk": true, + "parityOk": false, + "healthy": false + } + }, + { + "base": "cWAUSDT", + "quote": "cWUSDC", + "poolAddress": "0x639D7e64C6f1fC676226f20a0C42aEcDD66545E8", + "live": true, + "health": { + "baseReserveRaw": "1500000000", + "quoteReserveRaw": "1000000000", + "baseReserveUnits": "1500", + "quoteReserveUnits": "1000", + "priceQuotePerBase": "0.666666666666666666666666666666666666666667", + "deviationBps": "3333.33333333333333333333333333333333333333", + "depthOk": true, + "parityOk": false, + "healthy": false + } + } + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "factoryAddress": "0xc35DADB65012eC5796536bD9864eD8773aBc74C4", + "routerAddress": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", + "startBlock": 0, + "rpcConfigured": true, + "envReady": true, + "pairsChecked": [ + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x064d782Be0113Cb427f3Af0De9335C9F34A1de34", + "live": true, + "health": { + "baseReserveRaw": "4000000000", + "quoteReserveRaw": "4000000000", + "baseReserveUnits": "4000", + "quoteReserveUnits": "4000", + "priceQuotePerBase": "1", + "deviationBps": "0", + "depthOk": true, + "parityOk": true, + "healthy": true + } + } + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "factoryAddress": "0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32", + "routerAddress": "0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff", + "startBlock": 0, + "rpcConfigured": true, + "envReady": true, + "pairsChecked": [ + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWAUSDT", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x3411A20C39773d1A18cb53864893b236f41f1e99", + "live": true, + "health": { + "baseReserveRaw": "996297636", + "quoteReserveRaw": "9", + "baseReserveUnits": "996.297636", + "quoteReserveUnits": "0.000009", + "priceQuotePerBase": "9.03344510194140418496385953484285894662105E-9", + "deviationBps": "9999.99990966554898058595815036140465157141", + "depthOk": false, + "parityOk": false, + "healthy": false + } + }, + { + "base": "cWAUSDT", + "quote": "cWUSDT", + "poolAddress": "0x8cD2Cb42B81F894eb10D15446DB22A3B31d6fB2E", + "live": true, + "health": { + "baseReserveRaw": "1500000000", + "quoteReserveRaw": "1000000000", + "baseReserveUnits": "1500", + "quoteReserveUnits": "1000", + "priceQuotePerBase": "0.666666666666666666666666666666666666666667", + "deviationBps": "3333.33333333333333333333333333333333333333", + "depthOk": true, + "parityOk": false, + "healthy": false + } + }, + { + "base": "cWAUSDT", + "quote": "cWUSDC", + "poolAddress": "0xe6a5Cb164D4AF7E9794AEd09EC373392D0E7216c", + "live": true, + "health": { + "baseReserveRaw": "1500000000", + "quoteReserveRaw": "1000000000", + "baseReserveUnits": "1500", + "quoteReserveUnits": "1000", + "priceQuotePerBase": "0.666666666666666666666666666666666666666667", + "deviationBps": "3333.33333333333333333333333333333333333333", + "depthOk": true, + "parityOk": false, + "healthy": false + } + } + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "factoryAddress": "0x62d5b84bE28a183aBB507E125B384122D2C25fAE", + "routerAddress": "0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121", + "startBlock": 0, + "rpcConfigured": true, + "envReady": true, + "pairsChecked": [ + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWAUSDT", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x6F97dE8AB68c722DcBC02cEA0cE6B587b8210052", + "live": true, + "health": { + "baseReserveRaw": "1000000000", + "quoteReserveRaw": "1000000000", + "baseReserveUnits": "1000", + "quoteReserveUnits": "1000", + "priceQuotePerBase": "1", + "deviationBps": "0", + "depthOk": true, + "parityOk": true, + "healthy": true + } + }, + { + "base": "cWAUSDT", + "quote": "cWUSDT", + "poolAddress": "0xEe9eEBf89C1424e63eFc888929E43a9423357D39", + "live": true, + "health": { + "baseReserveRaw": "1500000000", + "quoteReserveRaw": "1000000000", + "baseReserveUnits": "1500", + "quoteReserveUnits": "1000", + "priceQuotePerBase": "0.666666666666666666666666666666666666666667", + "deviationBps": "3333.33333333333333333333333333333333333333", + "depthOk": true, + "parityOk": false, + "healthy": false + } + }, + { + "base": "cWAUSDT", + "quote": "cWUSDC", + "poolAddress": "0xd3B55d6d7C08fDbF5F201e486992643cfF410d91", + "live": true, + "health": { + "baseReserveRaw": "1500000000", + "quoteReserveRaw": "1000000000", + "baseReserveUnits": "1500", + "quoteReserveUnits": "1000", + "priceQuotePerBase": "0.666666666666666666666666666666666666666667", + "deviationBps": "3333.33333333333333333333333333333333333333", + "depthOk": true, + "parityOk": false, + "healthy": false + } + } + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "factoryAddress": "0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10", + "routerAddress": "0x60aE616a2155Ee3d9A68541Ba4544862310933d4", + "startBlock": 0, + "rpcConfigured": true, + "envReady": true, + "pairsChecked": [ + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWAUSDT", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x79c8eA153e77BC69b989f59F69BfA44c466D5DEE", + "live": true, + "health": { + "baseReserveRaw": "800000", + "quoteReserveRaw": "800000", + "baseReserveUnits": "0.8", + "quoteReserveUnits": "0.8", + "priceQuotePerBase": "1", + "deviationBps": "0", + "depthOk": false, + "parityOk": true, + "healthy": false + } + }, + { + "base": "cWAUSDT", + "quote": "cWUSDT", + "poolAddress": "0x418322F48D857277ec4BCc96Bc1580aCCB7EA253", + "live": true, + "health": { + "baseReserveRaw": "1500000000", + "quoteReserveRaw": "1000000000", + "baseReserveUnits": "1500", + "quoteReserveUnits": "1000", + "priceQuotePerBase": "0.666666666666666666666666666666666666666667", + "deviationBps": "3333.33333333333333333333333333333333333333", + "depthOk": true, + "parityOk": false, + "healthy": false + } + }, + { + "base": "cWAUSDT", + "quote": "cWUSDC", + "poolAddress": "0xaaD6aed8d28B0195D19B4d17F8ee9A1837ff2DCE", + "live": true, + "health": { + "baseReserveRaw": "1500000000", + "quoteReserveRaw": "1000000000", + "baseReserveUnits": "1500", + "quoteReserveUnits": "1000", + "priceQuotePerBase": "0.666666666666666666666666666666666666666667", + "deviationBps": "3333.33333333333333333333333333333333333333", + "depthOk": true, + "parityOk": false, + "healthy": false + } + } + ] + }, + { + "chain_id": 8453, + "network": "Base", + "factoryAddress": "0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E", + "routerAddress": "0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb", + "startBlock": 0, + "rpcConfigured": true, + "envReady": true, + "pairsChecked": [ + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x56eb93f747D3B8251d43849cC72B39c1899fcaca", + "live": true, + "health": { + "baseReserveRaw": "1000000000", + "quoteReserveRaw": "1000000000", + "baseReserveUnits": "1000", + "quoteReserveUnits": "1000", + "priceQuotePerBase": "1", + "deviationBps": "0", + "depthOk": true, + "parityOk": true, + "healthy": true + } + } + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "factoryAddress": "0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E", + "routerAddress": "0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb", + "startBlock": 0, + "rpcConfigured": true, + "envReady": true, + "pairsChecked": [ + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x0000000000000000000000000000000000000000", + "live": false + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x2b2ea2EA9e7617de09FCb5063BEfafa01A9ef2b4", + "live": true, + "health": { + "baseReserveRaw": "3000000000", + "quoteReserveRaw": "3000000000", + "baseReserveUnits": "3000", + "quoteReserveUnits": "3000", + "priceQuotePerBase": "1", + "deviationBps": "0", + "depthOk": true, + "parityOk": true, + "healthy": true + } + } + ] + } + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase-order-latest.json b/reports/extraction/promod-uniswap-v2-phase-order-latest.json new file mode 100644 index 00000000..6f20c7d3 --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase-order-latest.json @@ -0,0 +1,656 @@ +{ + "generated_at": "2026-04-18T02:19:49Z", + "program_name": "Mr. Promod Uniswap V2 cW Deep Liquidity Program", + "purpose": "Strict phase-order artifact for Mr. Promod's Uniswap V2 rollout: phase 1 core rail -> phase 2 full cW* wrapped mesh -> phase 3 settlement rails.", + "mainnet_funding_posture": { + "mode": "triple-rail-support", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT", + "cWAUSDT" + ], + "notes": [ + "cWUSDC and cWUSDT remain the core settlement-adjacent rails.", + "cWAUSDT is the wrapped-depth support asset when canonical USDC or USDT inventory is not yet deep enough." + ] + }, + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "tier": "tier_1", + "hub_stable": "USDC", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_1_required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "phase_2_full_cw_wrapped_mesh": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "phase_3_settlement_rails": [ + "cWUSDC/USDC", + "cWUSDT/USDC" + ], + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "tier": "tier_1", + "hub_stable": "USDC", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_1_required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "phase_2_full_cw_wrapped_mesh": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "phase_3_settlement_rails": [ + "cWUSDC/USDC", + "cWUSDT/USDC" + ], + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "tier": "tier_2", + "hub_stable": "USDT", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_1_required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "phase_2_full_cw_wrapped_mesh": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "phase_3_settlement_rails": [ + "cWUSDC/USDT", + "cWUSDT/USDT" + ], + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "tier": "tier_2", + "hub_stable": "USDT", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_1_required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "phase_2_full_cw_wrapped_mesh": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWUSDW/cWUSDC", + "cWUSDW/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "phase_3_settlement_rails": [ + "cWUSDC/USDT", + "cWUSDT/USDT", + "cWAUSDT/USDT" + ], + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "tier": "tier_2", + "hub_stable": "USDC", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_1_required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "phase_2_full_cw_wrapped_mesh": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "phase_3_settlement_rails": [ + "cWUSDC/USDC", + "cWUSDT/USDC" + ], + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "tier": "tier_1", + "hub_stable": "USDC", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_1_required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "phase_2_full_cw_wrapped_mesh": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "phase_3_settlement_rails": [ + "cWUSDC/USDC", + "cWUSDT/USDC", + "cWAUSDT/USDC" + ], + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "tier": "tier_1", + "hub_stable": "USDC", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_1_required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "phase_2_full_cw_wrapped_mesh": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "phase_3_settlement_rails": [ + "cWUSDC/USDC", + "cWUSDT/USDC" + ], + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "tier": "tier_1", + "hub_stable": "USDC", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_1_required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "phase_2_full_cw_wrapped_mesh": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "phase_3_settlement_rails": [ + "cWUSDC/USDC", + "cWUSDT/USDC" + ], + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "tier": "tier_2", + "hub_stable": "USDC", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_1_required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "phase_2_full_cw_wrapped_mesh": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWUSDW/cWUSDC", + "cWUSDW/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "phase_3_settlement_rails": [ + "cWUSDC/USDC", + "cWUSDT/USDC", + "cWAUSDT/USDC" + ], + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "tier": "tier_2", + "hub_stable": "USDC", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_1_required_tokens": [ + "cWUSDT", + "cWUSDC" + ], + "phase_2_full_cw_wrapped_mesh": [ + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWBTC/cWUSDC", + "cWBTC/cWUSDT", + "cWCADC/cWUSDC", + "cWCADC/cWUSDT", + "cWCHFC/cWUSDC", + "cWCHFC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWEURT/cWUSDC", + "cWEURT/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", + "cWGBPT/cWUSDC", + "cWGBPT/cWUSDT", + "cWJPYC/cWUSDC", + "cWJPYC/cWUSDT", + "cWUSDW/cWUSDC", + "cWUSDW/cWUSDT", + "cWXAUC/cWUSDC", + "cWXAUC/cWUSDT", + "cWXAUT/cWUSDC", + "cWXAUT/cWUSDT" + ], + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "phase_3_settlement_rails": [ + "cWUSDC/USDC", + "cWUSDT/USDC", + "cWAUSDT/USDC" + ], + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-liquidity-program-latest.json", + "reports/extraction/promod-uniswap-v2-first-deployment-target-matrix-latest.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase1-bridge-3x-matrix-latest.json b/reports/extraction/promod-uniswap-v2-phase1-bridge-3x-matrix-latest.json new file mode 100644 index 00000000..6eba68ce --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase1-bridge-3x-matrix-latest.json @@ -0,0 +1,155 @@ +{ + "generated_at": "2026-04-17T18:22:33Z", + "program_name": "Mr. Promod Uniswap V2 phase 1 bridge 3x matrix", + "purpose": "Strict triple-sized Chain 138 bridge funding plan for phase-1 cWUSDT/cWUSDC rollout.", + "bridge_multiplier": "3", + "totals_to_bridge_from_138": { + "cUSDT": "21000", + "cUSDC": "21002.4" + }, + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "phase_1_pair": "cWUSDT/cWUSDC", + "base_cUSDT_needed": "0", + "base_cUSDC_needed": "0", + "bridge_multiplier": "3", + "cUSDT_to_bridge": "0", + "cUSDC_to_bridge": "0", + "bridge_config_env": "CW_BRIDGE_MAINNET", + "bridge_config_present": true, + "recommended_action": "seed_now", + "bridge_note": "Bridge path is structurally available for chain `1` via `CW_BRIDGE_MAINNET` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 10, + "network": "Optimism", + "phase_1_pair": "cWUSDT/cWUSDC", + "base_cUSDT_needed": "1000", + "base_cUSDC_needed": "1000", + "bridge_multiplier": "3", + "cUSDT_to_bridge": "3000", + "cUSDC_to_bridge": "3000", + "bridge_config_env": "CW_BRIDGE_OPTIMISM", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "bridge_note": "Bridge path is structurally available for chain `10` via `CW_BRIDGE_OPTIMISM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 25, + "network": "Cronos", + "phase_1_pair": "cWUSDT/cWUSDC", + "base_cUSDT_needed": "1000", + "base_cUSDC_needed": "1000", + "bridge_multiplier": "3", + "cUSDT_to_bridge": "3000", + "cUSDC_to_bridge": "3000", + "bridge_config_env": "CW_BRIDGE_CRONOS", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "bridge_note": "Bridge path is structurally available for chain `25` via `CW_BRIDGE_CRONOS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 56, + "network": "BSC", + "phase_1_pair": "cWUSDT/cWUSDC", + "base_cUSDT_needed": "1000", + "base_cUSDC_needed": "1000", + "bridge_multiplier": "3", + "cUSDT_to_bridge": "3000", + "cUSDC_to_bridge": "3000", + "bridge_config_env": "CW_BRIDGE_BSC", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "bridge_note": "Bridge path is structurally available for chain `56` via `CW_BRIDGE_BSC` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 100, + "network": "Gnosis", + "phase_1_pair": "cWUSDT/cWUSDC", + "base_cUSDT_needed": "1000", + "base_cUSDC_needed": "1000", + "bridge_multiplier": "3", + "cUSDT_to_bridge": "3000", + "cUSDC_to_bridge": "3000", + "bridge_config_env": "CW_BRIDGE_GNOSIS", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "bridge_note": "Bridge path is structurally available for chain `100` via `CW_BRIDGE_GNOSIS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 137, + "network": "Polygon", + "phase_1_pair": "cWUSDT/cWUSDC", + "base_cUSDT_needed": "0", + "base_cUSDC_needed": "0", + "bridge_multiplier": "3", + "cUSDT_to_bridge": "0", + "cUSDC_to_bridge": "0", + "bridge_config_env": "CW_BRIDGE_POLYGON", + "bridge_config_present": true, + "recommended_action": "seed_now", + "bridge_note": "Bridge path is structurally available for chain `137` via `CW_BRIDGE_POLYGON` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 8453, + "network": "Base", + "phase_1_pair": "cWUSDT/cWUSDC", + "base_cUSDT_needed": "1000", + "base_cUSDC_needed": "1000", + "bridge_multiplier": "3", + "cUSDT_to_bridge": "3000", + "cUSDC_to_bridge": "3000", + "bridge_config_env": "CW_BRIDGE_BASE", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "bridge_note": "Bridge path is structurally available for chain `8453` via `CW_BRIDGE_BASE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "phase_1_pair": "cWUSDT/cWUSDC", + "base_cUSDT_needed": "1000", + "base_cUSDC_needed": "1000", + "bridge_multiplier": "3", + "cUSDT_to_bridge": "3000", + "cUSDC_to_bridge": "3000", + "bridge_config_env": "CW_BRIDGE_ARBITRUM", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "bridge_note": "Bridge path is structurally available for chain `42161` via `CW_BRIDGE_ARBITRUM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 42220, + "network": "Celo", + "phase_1_pair": "cWUSDT/cWUSDC", + "base_cUSDT_needed": "1000", + "base_cUSDC_needed": "1000", + "bridge_multiplier": "3", + "cUSDT_to_bridge": "3000", + "cUSDC_to_bridge": "3000", + "bridge_config_env": "CW_BRIDGE_CELO", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "bridge_note": "Bridge path is structurally available for chain `42220` via `CW_BRIDGE_CELO` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 43114, + "network": "Avalanche", + "phase_1_pair": "cWUSDT/cWUSDC", + "base_cUSDT_needed": "0", + "base_cUSDC_needed": "0.8", + "bridge_multiplier": "3", + "cUSDT_to_bridge": "0", + "cUSDC_to_bridge": "2.4", + "bridge_config_env": "CW_BRIDGE_AVALANCHE", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_missing_side_then_seed", + "bridge_note": "Bridge path is structurally available for chain `43114` via `CW_BRIDGE_AVALANCHE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-bridge-from-138-matrix-latest.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase1-bridge-3x-operator-packet-latest.json b/reports/extraction/promod-uniswap-v2-phase1-bridge-3x-operator-packet-latest.json new file mode 100644 index 00000000..9b41a8d9 --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase1-bridge-3x-operator-packet-latest.json @@ -0,0 +1,162 @@ +{ + "generated_at": "2026-04-17T18:23:46Z", + "program_name": "Mr. Promod Uniswap V2 phase 1 bridge 3x operator packet", + "purpose": "Strict operator packet: chain -> 3x cUSDT/cUSDC amount -> destination cW addresses -> CW_BRIDGE env -> post-funding deploy block.", + "bridge_multiplier": "3", + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_to_bridge_3x": "0", + "cUSDC_to_bridge_3x": "0", + "destination_cw_addresses": { + "cWUSDT": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "cWUSDC": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + }, + "cw_bridge_env": "CW_BRIDGE_MAINNET", + "bridge_config_present": true, + "recommended_action": "seed_now", + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport CWUSDT=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport CWUSDC=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"8888511867466\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 10, + "network": "Optimism", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "cWUSDC": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "cw_bridge_env": "CW_BRIDGE_OPTIMISM", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_MAINNET_RPC}\"\nexport FACTORY=\"0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf\"\nexport ROUTER=\"0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2\"\nexport CWUSDT=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport CWUSDC=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 25, + "network": "Cronos", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "cWUSDC": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + }, + "cw_bridge_env": "CW_BRIDGE_CRONOS", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"0x3B44B2a187a7b3824131F8db5a74194D0a42Fc15\"\nexport ROUTER=\"0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae\"\nexport CWUSDT=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport CWUSDC=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 56, + "network": "BSC", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "cWUSDC": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" + }, + "cw_bridge_env": "CW_BRIDGE_BSC", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73\"\nexport ROUTER=\"0x10ED43C718714eb63d5aA57B78B54704E256024E\"\nexport CWUSDT=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport CWUSDC=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 100, + "network": "Gnosis", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "cWUSDC": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "cw_bridge_env": "CW_BRIDGE_GNOSIS", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_MAINNET_RPC}\"\nexport FACTORY=\"0xc35DADB65012eC5796536bD9864eD8773aBc74C4\"\nexport ROUTER=\"0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506\"\nexport CWUSDT=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport CWUSDC=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 137, + "network": "Polygon", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_to_bridge_3x": "0", + "cUSDC_to_bridge_3x": "0", + "destination_cw_addresses": { + "cWUSDT": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "cWUSDC": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "cw_bridge_env": "CW_BRIDGE_POLYGON", + "bridge_config_present": true, + "recommended_action": "seed_now", + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport CWUSDT=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport CWUSDC=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"996297636\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 8453, + "network": "Base", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "cWUSDC": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "cw_bridge_env": "CW_BRIDGE_BASE", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_MAINNET_RPC}\"\nexport FACTORY=\"0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E\"\nexport ROUTER=\"0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb\"\nexport CWUSDT=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport CWUSDC=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "cWUSDC": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "cw_bridge_env": "CW_BRIDGE_ARBITRUM", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_MAINNET_RPC}\"\nexport FACTORY=\"0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E\"\nexport ROUTER=\"0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb\"\nexport CWUSDT=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport CWUSDC=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 42220, + "network": "Celo", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "cWUSDC": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" + }, + "cw_bridge_env": "CW_BRIDGE_CELO", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_MAINNET_RPC}\"\nexport FACTORY=\"0x62d5b84bE28a183aBB507E125B384122D2C25fAE\"\nexport ROUTER=\"0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121\"\nexport CWUSDT=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport CWUSDC=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 43114, + "network": "Avalanche", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_to_bridge_3x": "0", + "cUSDC_to_bridge_3x": "2.4", + "destination_cw_addresses": { + "cWUSDT": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "cWUSDC": "0x0C242b513008Cd49C89078F5aFb237A3112251EB" + }, + "cw_bridge_env": "CW_BRIDGE_AVALANCHE", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_missing_side_then_seed", + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10\"\nexport ROUTER=\"0x60aE616a2155Ee3d9A68541Ba4544862310933d4\"\nexport CWUSDT=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport CWUSDC=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"2400000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-bridge-3x-matrix-latest.json", + "reports/extraction/promod-uniswap-v2-phase1-funding-bundle-latest.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase1-bridge-from-138-matrix-latest.json b/reports/extraction/promod-uniswap-v2-phase1-bridge-from-138-matrix-latest.json new file mode 100644 index 00000000..87dcf59b --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase1-bridge-from-138-matrix-latest.json @@ -0,0 +1,170 @@ +{ + "generated_at": "2026-04-17T18:20:51Z", + "program_name": "Mr. Promod Uniswap V2 phase 1 bridge-from-138 matrix", + "purpose": "Strict destination funding matrix from Chain 138 GRU v2 feeder inventory for phase-1 cWUSDT/cWUSDC rollout.", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "totals_needed_from_138": { + "cUSDT": "7000", + "cUSDC": "7000.8" + }, + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_needed_from_138": "0", + "cUSDC_needed_from_138": "0", + "bridge_config_env": "CW_BRIDGE_MAINNET", + "bridge_config_present": true, + "recommended_action": "seed_now", + "minimum_gas_issue": false, + "tokens_missing": [], + "bridge_note": "Bridge path is structurally available for chain `1` via `CW_BRIDGE_MAINNET` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 10, + "network": "Optimism", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_needed_from_138": "1000", + "cUSDC_needed_from_138": "1000", + "bridge_config_env": "CW_BRIDGE_OPTIMISM", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "minimum_gas_issue": true, + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "bridge_note": "Bridge path is structurally available for chain `10` via `CW_BRIDGE_OPTIMISM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 25, + "network": "Cronos", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_needed_from_138": "1000", + "cUSDC_needed_from_138": "1000", + "bridge_config_env": "CW_BRIDGE_CRONOS", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "minimum_gas_issue": false, + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "bridge_note": "Bridge path is structurally available for chain `25` via `CW_BRIDGE_CRONOS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 56, + "network": "BSC", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_needed_from_138": "1000", + "cUSDC_needed_from_138": "1000", + "bridge_config_env": "CW_BRIDGE_BSC", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "minimum_gas_issue": false, + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "bridge_note": "Bridge path is structurally available for chain `56` via `CW_BRIDGE_BSC` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 100, + "network": "Gnosis", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_needed_from_138": "1000", + "cUSDC_needed_from_138": "1000", + "bridge_config_env": "CW_BRIDGE_GNOSIS", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "minimum_gas_issue": false, + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "bridge_note": "Bridge path is structurally available for chain `100` via `CW_BRIDGE_GNOSIS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 137, + "network": "Polygon", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_needed_from_138": "0", + "cUSDC_needed_from_138": "0", + "bridge_config_env": "CW_BRIDGE_POLYGON", + "bridge_config_present": true, + "recommended_action": "seed_now", + "minimum_gas_issue": false, + "tokens_missing": [], + "bridge_note": "Bridge path is structurally available for chain `137` via `CW_BRIDGE_POLYGON` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 8453, + "network": "Base", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_needed_from_138": "1000", + "cUSDC_needed_from_138": "1000", + "bridge_config_env": "CW_BRIDGE_BASE", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "minimum_gas_issue": true, + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "bridge_note": "Bridge path is structurally available for chain `8453` via `CW_BRIDGE_BASE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_needed_from_138": "1000", + "cUSDC_needed_from_138": "1000", + "bridge_config_env": "CW_BRIDGE_ARBITRUM", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "minimum_gas_issue": false, + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "bridge_note": "Bridge path is structurally available for chain `42161` via `CW_BRIDGE_ARBITRUM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 42220, + "network": "Celo", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_needed_from_138": "1000", + "cUSDC_needed_from_138": "1000", + "bridge_config_env": "CW_BRIDGE_CELO", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_destination_then_seed", + "minimum_gas_issue": false, + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "bridge_note": "Bridge path is structurally available for chain `42220` via `CW_BRIDGE_CELO` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + }, + { + "chain_id": 43114, + "network": "Avalanche", + "phase_1_pair": "cWUSDT/cWUSDC", + "cUSDT_needed_from_138": "0", + "cUSDC_needed_from_138": "0.8", + "bridge_config_env": "CW_BRIDGE_AVALANCHE", + "bridge_config_present": true, + "recommended_action": "bridge_or_mint_missing_side_then_seed", + "minimum_gas_issue": false, + "tokens_missing": [ + "cWUSDC" + ], + "bridge_note": "Bridge path is structurally available for chain `43114` via `CW_BRIDGE_AVALANCHE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-funding-actions-latest.json", + "docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md", + "docs/07-ccip/CW_BRIDGE_APPROACH.md" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase1-bridge-or-mint-runbook-latest.json b/reports/extraction/promod-uniswap-v2-phase1-bridge-or-mint-runbook-latest.json new file mode 100644 index 00000000..a7332cfb --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase1-bridge-or-mint-runbook-latest.json @@ -0,0 +1,299 @@ +{ + "generated_at": "2026-04-17T18:42:43Z", + "program_name": "Mr. Promod Uniswap V2 phase 1 bridge-or-mint execution runbook", + "purpose": "Strict runbook keyed to the 3x operator packet: for each chain, prefer bridge when the destination bridge env and selector are present, otherwise use the exact destination mint fallback, then execute the post-funding pool deploy block.", + "source_chain": { + "chain_id": 138, + "network": "Chain 138", + "source_tokens": { + "cUSDT": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "cUSDC": "0xf22258f57794CC8E06237084b353Ab30fFfa640b" + } + }, + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "seed_now", + "recommended_action": "seed_now", + "cUSDT_to_bridge_3x": "0", + "cUSDC_to_bridge_3x": "0", + "destination_cw_addresses": { + "cWUSDT": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "cWUSDC": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + }, + "cw_bridge_env": "CW_BRIDGE_MAINNET", + "selector_env": "ETH_MAINNET_SELECTOR", + "bridge_preflight_block": "", + "mint_fallback_steps": [], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport CWUSDT=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport CWUSDC=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"8888511867466\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 10, + "network": "Optimism", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "cWUSDC": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "cw_bridge_env": "CW_BRIDGE_OPTIMISM", + "selector_env": "OPTIMISM_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${OPTIMISM_MAINNET_RPC}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_OPTIMISM}\"\nexport DEST_CWUSDT=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport DEST_CWUSDC=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\nexport DEST_SELECTOR=\"${OPTIMISM_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${OPTIMISM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${OPTIMISM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_MAINNET_RPC}\"\nexport FACTORY=\"0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf\"\nexport ROUTER=\"0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2\"\nexport CWUSDT=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport CWUSDC=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 25, + "network": "Cronos", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "cWUSDC": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + }, + "cw_bridge_env": "CW_BRIDGE_CRONOS", + "selector_env": "CRONOS_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${CRONOS_RPC_URL}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_CRONOS}\"\nexport DEST_CWUSDT=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport DEST_CWUSDC=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\nexport DEST_SELECTOR=\"${CRONOS_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${CRONOS_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${CRONOS_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"0x3B44B2a187a7b3824131F8db5a74194D0a42Fc15\"\nexport ROUTER=\"0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae\"\nexport CWUSDT=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport CWUSDC=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 56, + "network": "BSC", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "cWUSDC": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" + }, + "cw_bridge_env": "CW_BRIDGE_BSC", + "selector_env": "BSC_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${BSC_RPC_URL}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_BSC}\"\nexport DEST_CWUSDT=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport DEST_CWUSDC=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\nexport DEST_SELECTOR=\"${BSC_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${BSC_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${BSC_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73\"\nexport ROUTER=\"0x10ED43C718714eb63d5aA57B78B54704E256024E\"\nexport CWUSDT=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport CWUSDC=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 100, + "network": "Gnosis", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "cWUSDC": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "cw_bridge_env": "CW_BRIDGE_GNOSIS", + "selector_env": "GNOSIS_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${GNOSIS_MAINNET_RPC}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_GNOSIS}\"\nexport DEST_CWUSDT=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport DEST_CWUSDC=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\nexport DEST_SELECTOR=\"${GNOSIS_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${GNOSIS_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${GNOSIS_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_MAINNET_RPC}\"\nexport FACTORY=\"0xc35DADB65012eC5796536bD9864eD8773aBc74C4\"\nexport ROUTER=\"0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506\"\nexport CWUSDT=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport CWUSDC=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 137, + "network": "Polygon", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "seed_now", + "recommended_action": "seed_now", + "cUSDT_to_bridge_3x": "0", + "cUSDC_to_bridge_3x": "0", + "destination_cw_addresses": { + "cWUSDT": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "cWUSDC": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "cw_bridge_env": "CW_BRIDGE_POLYGON", + "selector_env": "POLYGON_SELECTOR", + "bridge_preflight_block": "", + "mint_fallback_steps": [], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport CWUSDT=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport CWUSDC=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"996297636\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 8453, + "network": "Base", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "cWUSDC": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "cw_bridge_env": "CW_BRIDGE_BASE", + "selector_env": "BASE_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${BASE_MAINNET_RPC}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_BASE}\"\nexport DEST_CWUSDT=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport DEST_CWUSDC=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\nexport DEST_SELECTOR=\"${BASE_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${BASE_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${BASE_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_MAINNET_RPC}\"\nexport FACTORY=\"0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E\"\nexport ROUTER=\"0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb\"\nexport CWUSDT=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport CWUSDC=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "cWUSDC": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "cw_bridge_env": "CW_BRIDGE_ARBITRUM", + "selector_env": "ARBITRUM_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${ARBITRUM_MAINNET_RPC}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_ARBITRUM}\"\nexport DEST_CWUSDT=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport DEST_CWUSDC=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\nexport DEST_SELECTOR=\"${ARBITRUM_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${ARBITRUM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${ARBITRUM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_MAINNET_RPC}\"\nexport FACTORY=\"0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E\"\nexport ROUTER=\"0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb\"\nexport CWUSDT=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport CWUSDC=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 42220, + "network": "Celo", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "mint_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "cWUSDC": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" + }, + "cw_bridge_env": "CW_BRIDGE_CELO", + "selector_env": null, + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${CELO_MAINNET_RPC}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_CELO}\"\nexport DEST_CWUSDT=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport DEST_CWUSDC=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\n# DEST_SELECTOR env is not currently documented for this chain in smom-dbis-138/.env\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x73376eB92c16977B126dB9112936A20Fa0De3442\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${CELO_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${CELO_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_MAINNET_RPC}\"\nexport FACTORY=\"0x62d5b84bE28a183aBB507E125B384122D2C25fAE\"\nexport ROUTER=\"0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121\"\nexport CWUSDT=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport CWUSDC=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 43114, + "network": "Avalanche", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_missing_side_then_seed", + "cUSDT_to_bridge_3x": "0", + "cUSDC_to_bridge_3x": "2.4", + "destination_cw_addresses": { + "cWUSDT": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "cWUSDC": "0x0C242b513008Cd49C89078F5aFb237A3112251EB" + }, + "cw_bridge_env": "CW_BRIDGE_AVALANCHE", + "selector_env": "AVALANCHE_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_AVALANCHE}\"\nexport DEST_CWUSDT=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport DEST_CWUSDC=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"0\"\nexport BRIDGE_CUSDC_HUMAN=\"2.4\"\nexport BRIDGE_CUSDT_RAW=\"0\"\nexport BRIDGE_CUSDC_RAW=\"2400000\"\nexport DEST_SELECTOR=\"${AVALANCHE_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDC", + "amount_human": "0.8", + "amount_raw": 800000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x0C242b513008Cd49C89078F5aFb237A3112251EB\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"800000\" \\\n --rpc-url \"${AVALANCHE_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10\"\nexport ROUTER=\"0x60aE616a2155Ee3d9A68541Ba4544862310933d4\"\nexport CWUSDT=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport CWUSDC=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"2400000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-bridge-3x-operator-packet-latest.json", + "reports/extraction/promod-uniswap-v2-phase1-funding-actions-latest.json", + "docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md", + "docs/07-ccip/CW_BRIDGE_APPROACH.md" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase1-execution-checklist-latest.json b/reports/extraction/promod-uniswap-v2-phase1-execution-checklist-latest.json new file mode 100644 index 00000000..5e21c0af --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase1-execution-checklist-latest.json @@ -0,0 +1,405 @@ +{ + "generated_at": "2026-04-17T17:55:54Z", + "program_name": "Mr. Promod Uniswap V2 cW Deep Liquidity Program", + "purpose": "Exact chain-by-chain operator checklist for the first full phase 1 rollout of Mr. Promod's Uniswap V2 core rail.", + "mainnet_funding_posture": { + "mode": "triple-rail-support", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT", + "cWAUSDT" + ], + "notes": [ + "cWUSDC and cWUSDT remain the core settlement-adjacent rails.", + "cWAUSDT is the wrapped-depth support asset when canonical USDC or USDT inventory is not yet deep enough." + ] + }, + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "rpc_env_keys": [ + "ETHEREUM_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_1_UNISWAP_V2_FACTORY", + "CHAIN_1_UNISWAP_V2_ROUTER", + "CHAIN_1_UNISWAP_V2_START_BLOCK" + ], + "token_addresses": { + "cWUSDT": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "cWUSDC": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + }, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "execution_checklist": [ + "Confirm `CHAIN_1_UNISWAP_V2_FACTORY`, `CHAIN_1_UNISWAP_V2_ROUTER`, and `CHAIN_1_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`.", + "Confirm one RPC env is usable for chain `1`: `ETHEREUM_MAINNET_RPC`.", + "Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction.", + "Probe the factory first: `cast call \"${CHAIN_1_UNISWAP_V2_FACTORY}\" \"getPair(address,address)(address)\" 0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE 0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a --rpc-url \"${ETHEREUM_MAINNET_RPC}\"`.", + "If the pair is absent, create it: `cast send \"${CHAIN_1_UNISWAP_V2_FACTORY}\" \"createPair(address,address)(address)\" 0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE 0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a --rpc-url \"${ETHEREUM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\"`.", + "Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `\"${CHAIN_1_UNISWAP_V2_ROUTER}\"`.", + "Rebuild live pair discovery and write the discovered pair into `deployment-status.json`.", + "Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "rpc_env_keys": [ + "OPTIMISM_RPC_URL", + "OPTIMISM_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_10_UNISWAP_V2_FACTORY", + "CHAIN_10_UNISWAP_V2_ROUTER", + "CHAIN_10_UNISWAP_V2_START_BLOCK" + ], + "token_addresses": { + "cWUSDT": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "cWUSDC": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "execution_checklist": [ + "Confirm `CHAIN_10_UNISWAP_V2_FACTORY`, `CHAIN_10_UNISWAP_V2_ROUTER`, and `CHAIN_10_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`.", + "Confirm one RPC env is usable for chain `10`: `OPTIMISM_RPC_URL`, `OPTIMISM_MAINNET_RPC`.", + "Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction.", + "Probe the factory first: `cast call \"${CHAIN_10_UNISWAP_V2_FACTORY}\" \"getPair(address,address)(address)\" 0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6 0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105 --rpc-url \"${OPTIMISM_RPC_URL}\"`.", + "If the pair is absent, create it: `cast send \"${CHAIN_10_UNISWAP_V2_FACTORY}\" \"createPair(address,address)(address)\" 0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6 0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105 --rpc-url \"${OPTIMISM_RPC_URL}\" --private-key \"$PRIVATE_KEY\"`.", + "Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `\"${CHAIN_10_UNISWAP_V2_ROUTER}\"`.", + "Rebuild live pair discovery and write the discovered pair into `deployment-status.json`.", + "Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "rpc_env_keys": [ + "CRONOS_RPC_URL", + "CRONOS_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_25_UNISWAP_V2_FACTORY", + "CHAIN_25_UNISWAP_V2_ROUTER", + "CHAIN_25_UNISWAP_V2_START_BLOCK" + ], + "token_addresses": { + "cWUSDT": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "cWUSDC": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + }, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "execution_checklist": [ + "Confirm `CHAIN_25_UNISWAP_V2_FACTORY`, `CHAIN_25_UNISWAP_V2_ROUTER`, and `CHAIN_25_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`.", + "Confirm one RPC env is usable for chain `25`: `CRONOS_RPC_URL`, `CRONOS_MAINNET_RPC`.", + "Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction.", + "Probe the factory first: `cast call \"${CHAIN_25_UNISWAP_V2_FACTORY}\" \"getPair(address,address)(address)\" 0x72948a7a813B60b37Cd0c920C4657DbFF54312b8 0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec --rpc-url \"${CRONOS_RPC_URL}\"`.", + "If the pair is absent, create it: `cast send \"${CHAIN_25_UNISWAP_V2_FACTORY}\" \"createPair(address,address)(address)\" 0x72948a7a813B60b37Cd0c920C4657DbFF54312b8 0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec --rpc-url \"${CRONOS_RPC_URL}\" --private-key \"$PRIVATE_KEY\"`.", + "Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `\"${CHAIN_25_UNISWAP_V2_ROUTER}\"`.", + "Rebuild live pair discovery and write the discovered pair into `deployment-status.json`.", + "Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "rpc_env_keys": [ + "BSC_RPC_URL", + "BSC_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_56_UNISWAP_V2_FACTORY", + "CHAIN_56_UNISWAP_V2_ROUTER", + "CHAIN_56_UNISWAP_V2_START_BLOCK" + ], + "token_addresses": { + "cWUSDT": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "cWUSDC": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" + }, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "execution_checklist": [ + "Confirm `CHAIN_56_UNISWAP_V2_FACTORY`, `CHAIN_56_UNISWAP_V2_ROUTER`, and `CHAIN_56_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`.", + "Confirm one RPC env is usable for chain `56`: `BSC_RPC_URL`, `BSC_MAINNET_RPC`.", + "Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction.", + "Probe the factory first: `cast call \"${CHAIN_56_UNISWAP_V2_FACTORY}\" \"getPair(address,address)(address)\" 0x9a1D0dBEE997929ED02fD19E0E199704d20914dB 0x5355148C4740fcc3D7a96F05EdD89AB14851206b --rpc-url \"${BSC_RPC_URL}\"`.", + "If the pair is absent, create it: `cast send \"${CHAIN_56_UNISWAP_V2_FACTORY}\" \"createPair(address,address)(address)\" 0x9a1D0dBEE997929ED02fD19E0E199704d20914dB 0x5355148C4740fcc3D7a96F05EdD89AB14851206b --rpc-url \"${BSC_RPC_URL}\" --private-key \"$PRIVATE_KEY\"`.", + "Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `\"${CHAIN_56_UNISWAP_V2_ROUTER}\"`.", + "Rebuild live pair discovery and write the discovered pair into `deployment-status.json`.", + "Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "rpc_env_keys": [ + "GNOSIS_RPC_URL", + "GNOSIS_MAINNET_RPC", + "GNOSIS_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_100_UNISWAP_V2_FACTORY", + "CHAIN_100_UNISWAP_V2_ROUTER", + "CHAIN_100_UNISWAP_V2_START_BLOCK" + ], + "token_addresses": { + "cWUSDT": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "cWUSDC": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "execution_checklist": [ + "Confirm `CHAIN_100_UNISWAP_V2_FACTORY`, `CHAIN_100_UNISWAP_V2_ROUTER`, and `CHAIN_100_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`.", + "Confirm one RPC env is usable for chain `100`: `GNOSIS_RPC_URL`, `GNOSIS_MAINNET_RPC`, `GNOSIS_RPC`.", + "Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction.", + "Probe the factory first: `cast call \"${CHAIN_100_UNISWAP_V2_FACTORY}\" \"getPair(address,address)(address)\" 0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF 0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4 --rpc-url \"${GNOSIS_RPC_URL}\"`.", + "If the pair is absent, create it: `cast send \"${CHAIN_100_UNISWAP_V2_FACTORY}\" \"createPair(address,address)(address)\" 0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF 0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4 --rpc-url \"${GNOSIS_RPC_URL}\" --private-key \"$PRIVATE_KEY\"`.", + "Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `\"${CHAIN_100_UNISWAP_V2_ROUTER}\"`.", + "Rebuild live pair discovery and write the discovered pair into `deployment-status.json`.", + "Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "rpc_env_keys": [ + "POLYGON_MAINNET_RPC", + "POLYGON_RPC_URL" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_137_UNISWAP_V2_FACTORY", + "CHAIN_137_UNISWAP_V2_ROUTER", + "CHAIN_137_UNISWAP_V2_START_BLOCK" + ], + "token_addresses": { + "cWUSDT": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "cWUSDC": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "execution_checklist": [ + "Confirm `CHAIN_137_UNISWAP_V2_FACTORY`, `CHAIN_137_UNISWAP_V2_ROUTER`, and `CHAIN_137_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`.", + "Confirm one RPC env is usable for chain `137`: `POLYGON_MAINNET_RPC`, `POLYGON_RPC_URL`.", + "Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction.", + "Probe the factory first: `cast call \"${CHAIN_137_UNISWAP_V2_FACTORY}\" \"getPair(address,address)(address)\" 0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF 0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4 --rpc-url \"${POLYGON_MAINNET_RPC}\"`.", + "If the pair is absent, create it: `cast send \"${CHAIN_137_UNISWAP_V2_FACTORY}\" \"createPair(address,address)(address)\" 0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF 0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4 --rpc-url \"${POLYGON_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\"`.", + "Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `\"${CHAIN_137_UNISWAP_V2_ROUTER}\"`.", + "Rebuild live pair discovery and write the discovered pair into `deployment-status.json`.", + "Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "rpc_env_keys": [ + "BASE_RPC_URL", + "BASE_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_8453_UNISWAP_V2_FACTORY", + "CHAIN_8453_UNISWAP_V2_ROUTER", + "CHAIN_8453_UNISWAP_V2_START_BLOCK" + ], + "token_addresses": { + "cWUSDT": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "cWUSDC": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "execution_checklist": [ + "Confirm `CHAIN_8453_UNISWAP_V2_FACTORY`, `CHAIN_8453_UNISWAP_V2_ROUTER`, and `CHAIN_8453_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`.", + "Confirm one RPC env is usable for chain `8453`: `BASE_RPC_URL`, `BASE_MAINNET_RPC`.", + "Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction.", + "Probe the factory first: `cast call \"${CHAIN_8453_UNISWAP_V2_FACTORY}\" \"getPair(address,address)(address)\" 0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6 0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105 --rpc-url \"${BASE_RPC_URL}\"`.", + "If the pair is absent, create it: `cast send \"${CHAIN_8453_UNISWAP_V2_FACTORY}\" \"createPair(address,address)(address)\" 0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6 0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105 --rpc-url \"${BASE_RPC_URL}\" --private-key \"$PRIVATE_KEY\"`.", + "Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"`.", + "Rebuild live pair discovery and write the discovered pair into `deployment-status.json`.", + "Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "rpc_env_keys": [ + "ARBITRUM_RPC_URL", + "ARBITRUM_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_42161_UNISWAP_V2_FACTORY", + "CHAIN_42161_UNISWAP_V2_ROUTER", + "CHAIN_42161_UNISWAP_V2_START_BLOCK" + ], + "token_addresses": { + "cWUSDT": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "cWUSDC": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "execution_checklist": [ + "Confirm `CHAIN_42161_UNISWAP_V2_FACTORY`, `CHAIN_42161_UNISWAP_V2_ROUTER`, and `CHAIN_42161_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`.", + "Confirm one RPC env is usable for chain `42161`: `ARBITRUM_RPC_URL`, `ARBITRUM_MAINNET_RPC`.", + "Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction.", + "Probe the factory first: `cast call \"${CHAIN_42161_UNISWAP_V2_FACTORY}\" \"getPair(address,address)(address)\" 0x73ADaF7dBa95221c080db5631466d2bC54f6a76B 0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF --rpc-url \"${ARBITRUM_RPC_URL}\"`.", + "If the pair is absent, create it: `cast send \"${CHAIN_42161_UNISWAP_V2_FACTORY}\" \"createPair(address,address)(address)\" 0x73ADaF7dBa95221c080db5631466d2bC54f6a76B 0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF --rpc-url \"${ARBITRUM_RPC_URL}\" --private-key \"$PRIVATE_KEY\"`.", + "Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"`.", + "Rebuild live pair discovery and write the discovered pair into `deployment-status.json`.", + "Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "rpc_env_keys": [ + "CELO_RPC_URL", + "CELO_MAINNET_RPC", + "CELO_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_42220_UNISWAP_V2_FACTORY", + "CHAIN_42220_UNISWAP_V2_ROUTER", + "CHAIN_42220_UNISWAP_V2_START_BLOCK" + ], + "token_addresses": { + "cWUSDT": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "cWUSDC": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" + }, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "execution_checklist": [ + "Confirm `CHAIN_42220_UNISWAP_V2_FACTORY`, `CHAIN_42220_UNISWAP_V2_ROUTER`, and `CHAIN_42220_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`.", + "Confirm one RPC env is usable for chain `42220`: `CELO_RPC_URL`, `CELO_MAINNET_RPC`, `CELO_RPC`.", + "Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction.", + "Probe the factory first: `cast call \"${CHAIN_42220_UNISWAP_V2_FACTORY}\" \"getPair(address,address)(address)\" 0x73376eB92c16977B126dB9112936A20Fa0De3442 0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3 --rpc-url \"${CELO_RPC_URL}\"`.", + "If the pair is absent, create it: `cast send \"${CHAIN_42220_UNISWAP_V2_FACTORY}\" \"createPair(address,address)(address)\" 0x73376eB92c16977B126dB9112936A20Fa0De3442 0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3 --rpc-url \"${CELO_RPC_URL}\" --private-key \"$PRIVATE_KEY\"`.", + "Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"`.", + "Rebuild live pair discovery and write the discovered pair into `deployment-status.json`.", + "Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "rpc_env_keys": [ + "AVALANCHE_RPC_URL", + "AVALANCHE_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_43114_UNISWAP_V2_FACTORY", + "CHAIN_43114_UNISWAP_V2_ROUTER", + "CHAIN_43114_UNISWAP_V2_START_BLOCK" + ], + "token_addresses": { + "cWUSDT": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "cWUSDC": "0x0C242b513008Cd49C89078F5aFb237A3112251EB" + }, + "remaining_live_blockers": [ + "No live cW Uniswap V2-compatible pair is currently discoverable for this chain.", + "No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain." + ], + "execution_checklist": [ + "Confirm `CHAIN_43114_UNISWAP_V2_FACTORY`, `CHAIN_43114_UNISWAP_V2_ROUTER`, and `CHAIN_43114_UNISWAP_V2_START_BLOCK` are set in `smom-dbis-138/.env`.", + "Confirm one RPC env is usable for chain `43114`: `AVALANCHE_RPC_URL`, `AVALANCHE_MAINNET_RPC`.", + "Verify token addresses for `cWUSDT` and `cWUSDC` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction.", + "Probe the factory first: `cast call \"${CHAIN_43114_UNISWAP_V2_FACTORY}\" \"getPair(address,address)(address)\" 0x8142BA530B08f3950128601F00DaaA678213DFdf 0x0C242b513008Cd49C89078F5aFb237A3112251EB --rpc-url \"${AVALANCHE_RPC_URL}\"`.", + "If the pair is absent, create it: `cast send \"${CHAIN_43114_UNISWAP_V2_FACTORY}\" \"createPair(address,address)(address)\" 0x8142BA530B08f3950128601F00DaaA678213DFdf 0x0C242b513008Cd49C89078F5aFb237A3112251EB --rpc-url \"${AVALANCHE_RPC_URL}\" --private-key \"$PRIVATE_KEY\"`.", + "Approve both phase-1 tokens to the router and seed initial liquidity on `cWUSDT/cWUSDC` with `addLiquidity(...)` through `\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"`.", + "Rebuild live pair discovery and write the discovered pair into `deployment-status.json`.", + "Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded." + ], + "post_phase_1_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase-order-latest.json", + "reports/extraction/promod-uniswap-v2-promotion-gates-latest.json", + "cross-chain-pmm-lps/config/deployment-status.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase1-funding-actions-latest.json b/reports/extraction/promod-uniswap-v2-phase1-funding-actions-latest.json new file mode 100644 index 00000000..ef07d570 --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase1-funding-actions-latest.json @@ -0,0 +1,274 @@ +{ + "generated_at": "2026-04-17T18:13:05Z", + "program_name": "Mr. Promod Uniswap V2 phase 1 funding actions", + "purpose": "Strict phase-1 funding actions: seed-now, mint-then-seed, and bridge-possible notes for each target chain.", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "phase_1_pair": "cWUSDT/cWUSDC", + "action_type": "seed_now", + "tokens_missing": [], + "minimum_gas_issue": false, + "gas_topup_note": "No minimum gas top-up issue from the latest preflight snapshot.", + "recommended_seed_human": "8888511.867466", + "bridge_possible": true, + "bridge_note": "Bridge path is structurally available for chain `1` via `CW_BRIDGE_MAINNET` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.", + "mint_steps": [], + "exact_post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport CWUSDT=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport CWUSDC=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"8888511867466\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 10, + "network": "Optimism", + "phase_1_pair": "cWUSDT/cWUSDC", + "action_type": "mint_destination_then_seed", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": true, + "gas_topup_note": "Top up native gas on Optimism before minting or seeding; current balance is below the 0.001 safety threshold.", + "recommended_seed_human": "1000", + "bridge_possible": true, + "bridge_note": "Bridge path is structurally available for chain `10` via `CW_BRIDGE_OPTIMISM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.", + "mint_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${OPTIMISM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${OPTIMISM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "exact_post_funding_deploy_block": null + }, + { + "chain_id": 25, + "network": "Cronos", + "phase_1_pair": "cWUSDT/cWUSDC", + "action_type": "mint_destination_then_seed", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": false, + "gas_topup_note": "No minimum gas top-up issue from the latest preflight snapshot.", + "recommended_seed_human": "1000", + "bridge_possible": true, + "bridge_note": "Bridge path is structurally available for chain `25` via `CW_BRIDGE_CRONOS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.", + "mint_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${CRONOS_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${CRONOS_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "exact_post_funding_deploy_block": null + }, + { + "chain_id": 56, + "network": "BSC", + "phase_1_pair": "cWUSDT/cWUSDC", + "action_type": "mint_destination_then_seed", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": false, + "gas_topup_note": "No minimum gas top-up issue from the latest preflight snapshot.", + "recommended_seed_human": "1000", + "bridge_possible": true, + "bridge_note": "Bridge path is structurally available for chain `56` via `CW_BRIDGE_BSC` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.", + "mint_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${BSC_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${BSC_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "exact_post_funding_deploy_block": null + }, + { + "chain_id": 100, + "network": "Gnosis", + "phase_1_pair": "cWUSDT/cWUSDC", + "action_type": "mint_destination_then_seed", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": false, + "gas_topup_note": "No minimum gas top-up issue from the latest preflight snapshot.", + "recommended_seed_human": "1000", + "bridge_possible": true, + "bridge_note": "Bridge path is structurally available for chain `100` via `CW_BRIDGE_GNOSIS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.", + "mint_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${GNOSIS_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${GNOSIS_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "exact_post_funding_deploy_block": null + }, + { + "chain_id": 137, + "network": "Polygon", + "phase_1_pair": "cWUSDT/cWUSDC", + "action_type": "seed_now", + "tokens_missing": [], + "minimum_gas_issue": false, + "gas_topup_note": "No minimum gas top-up issue from the latest preflight snapshot.", + "recommended_seed_human": "996.297636", + "bridge_possible": true, + "bridge_note": "Bridge path is structurally available for chain `137` via `CW_BRIDGE_POLYGON` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.", + "mint_steps": [], + "exact_post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport CWUSDT=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport CWUSDC=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"996297636\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 8453, + "network": "Base", + "phase_1_pair": "cWUSDT/cWUSDC", + "action_type": "mint_destination_then_seed", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": true, + "gas_topup_note": "Top up native gas on Base before minting or seeding; current balance is below the 0.001 safety threshold.", + "recommended_seed_human": "1000", + "bridge_possible": true, + "bridge_note": "Bridge path is structurally available for chain `8453` via `CW_BRIDGE_BASE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.", + "mint_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${BASE_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${BASE_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "exact_post_funding_deploy_block": null + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "phase_1_pair": "cWUSDT/cWUSDC", + "action_type": "mint_destination_then_seed", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": false, + "gas_topup_note": "No minimum gas top-up issue from the latest preflight snapshot.", + "recommended_seed_human": "1000", + "bridge_possible": true, + "bridge_note": "Bridge path is structurally available for chain `42161` via `CW_BRIDGE_ARBITRUM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.", + "mint_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${ARBITRUM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${ARBITRUM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "exact_post_funding_deploy_block": null + }, + { + "chain_id": 42220, + "network": "Celo", + "phase_1_pair": "cWUSDT/cWUSDC", + "action_type": "mint_destination_then_seed", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": false, + "gas_topup_note": "No minimum gas top-up issue from the latest preflight snapshot.", + "recommended_seed_human": "1000", + "bridge_possible": true, + "bridge_note": "Bridge path is structurally available for chain `42220` via `CW_BRIDGE_CELO` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.", + "mint_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x73376eB92c16977B126dB9112936A20Fa0De3442\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${CELO_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${CELO_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "exact_post_funding_deploy_block": null + }, + { + "chain_id": 43114, + "network": "Avalanche", + "phase_1_pair": "cWUSDT/cWUSDC", + "action_type": "mint_missing_side_then_seed", + "tokens_missing": [ + "cWUSDC" + ], + "minimum_gas_issue": false, + "gas_topup_note": "No minimum gas top-up issue from the latest preflight snapshot.", + "recommended_seed_human": "0.8", + "bridge_possible": true, + "bridge_note": "Bridge path is structurally available for chain `43114` via `CW_BRIDGE_AVALANCHE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.", + "mint_steps": [ + { + "token": "cWUSDC", + "amount_human": "0.8", + "amount_raw": 800000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x0C242b513008Cd49C89078F5aFb237A3112251EB\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"800000\" \\\n --rpc-url \"${AVALANCHE_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "exact_post_funding_deploy_block": null + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-funding-bundle-latest.json", + "docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md", + "docs/07-ccip/CW_BRIDGE_APPROACH.md" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase1-funding-bundle-latest.json b/reports/extraction/promod-uniswap-v2-phase1-funding-bundle-latest.json new file mode 100644 index 00000000..3abc6bcc --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase1-funding-bundle-latest.json @@ -0,0 +1,215 @@ +{ + "generated_at": "2026-04-17T20:05:59Z", + "program_name": "Mr. Promod Uniswap V2 phase 1 funding bundle", + "purpose": "Strict per-chain funding bundle: missing tokens, gas issue, and exact deploy block to run once each chain is funded.", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "phase_1_pair": "cWUSDT/cWUSDC", + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "phase_1_pair": "cWUSDT/cWUSDC", + "tokens_missing": [ + "cWUSDC" + ], + "minimum_gas_issue": false, + "native_balance": "0.028982898459925766", + "max_equal_seed_human": "0", + "funding_ready_now": false, + "exact_post_funding_deploy_block": null, + "rpc_env_key": "ETHEREUM_MAINNET_RPC", + "router": "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D", + "factory": "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f", + "token_addresses": { + "cWUSDT": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "cWUSDC": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + } + }, + { + "chain_id": 10, + "network": "Optimism", + "phase_1_pair": "cWUSDT/cWUSDC", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": false, + "native_balance": "0.001980670026642148", + "max_equal_seed_human": "0", + "funding_ready_now": false, + "exact_post_funding_deploy_block": null, + "rpc_env_key": "OPTIMISM_MAINNET_RPC", + "router": "0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2", + "factory": "0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf", + "token_addresses": { + "cWUSDT": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "cWUSDC": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + } + }, + { + "chain_id": 25, + "network": "Cronos", + "phase_1_pair": "cWUSDT/cWUSDC", + "tokens_missing": [], + "minimum_gas_issue": false, + "native_balance": "22.401143346977489259", + "max_equal_seed_human": "1000", + "funding_ready_now": false, + "exact_post_funding_deploy_block": null, + "rpc_env_key": "CRONOS_RPC_URL", + "router": "0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae", + "factory": "0x3B44B2a187a7b3824131F8db5a74194D0a42Fc15", + "token_addresses": { + "cWUSDT": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "cWUSDC": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + } + }, + { + "chain_id": 56, + "network": "BSC", + "phase_1_pair": "cWUSDT/cWUSDC", + "tokens_missing": [], + "minimum_gas_issue": false, + "native_balance": "0.010626271367072709", + "max_equal_seed_human": "1000", + "funding_ready_now": false, + "exact_post_funding_deploy_block": null, + "rpc_env_key": "BSC_RPC_URL", + "router": "0x10ED43C718714eb63d5aA57B78B54704E256024E", + "factory": "0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73", + "token_addresses": { + "cWUSDT": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "cWUSDC": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" + } + }, + { + "chain_id": 100, + "network": "Gnosis", + "phase_1_pair": "cWUSDT/cWUSDC", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": false, + "native_balance": "2.407080479781350729", + "max_equal_seed_human": "0", + "funding_ready_now": false, + "exact_post_funding_deploy_block": null, + "rpc_env_key": "GNOSIS_MAINNET_RPC", + "router": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", + "factory": "0xc35DADB65012eC5796536bD9864eD8773aBc74C4", + "token_addresses": { + "cWUSDT": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "cWUSDC": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + } + }, + { + "chain_id": 137, + "network": "Polygon", + "phase_1_pair": "cWUSDT/cWUSDC", + "tokens_missing": [ + "cWUSDC" + ], + "minimum_gas_issue": false, + "native_balance": "24.318080574425380349", + "max_equal_seed_human": "0", + "funding_ready_now": false, + "exact_post_funding_deploy_block": null, + "rpc_env_key": "POLYGON_MAINNET_RPC", + "router": "0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff", + "factory": "0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32", + "token_addresses": { + "cWUSDT": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "cWUSDC": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + } + }, + { + "chain_id": 8453, + "network": "Base", + "phase_1_pair": "cWUSDT/cWUSDC", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": false, + "native_balance": "0.002877934067617928", + "max_equal_seed_human": "0", + "funding_ready_now": false, + "exact_post_funding_deploy_block": null, + "rpc_env_key": "BASE_MAINNET_RPC", + "router": "0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb", + "factory": "0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E", + "token_addresses": { + "cWUSDT": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "cWUSDC": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + } + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "phase_1_pair": "cWUSDT/cWUSDC", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": false, + "native_balance": "0.001055113904178255", + "max_equal_seed_human": "0", + "funding_ready_now": false, + "exact_post_funding_deploy_block": null, + "rpc_env_key": "ARBITRUM_MAINNET_RPC", + "router": "0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb", + "factory": "0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E", + "token_addresses": { + "cWUSDT": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "cWUSDC": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + } + }, + { + "chain_id": 42220, + "network": "Celo", + "phase_1_pair": "cWUSDT/cWUSDC", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": false, + "native_balance": "8.537307308649465530", + "max_equal_seed_human": "0", + "funding_ready_now": false, + "exact_post_funding_deploy_block": null, + "rpc_env_key": "CELO_MAINNET_RPC", + "router": "0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121", + "factory": "0x62d5b84bE28a183aBB507E125B384122D2C25fAE", + "token_addresses": { + "cWUSDT": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "cWUSDC": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" + } + }, + { + "chain_id": 43114, + "network": "Avalanche", + "phase_1_pair": "cWUSDT/cWUSDC", + "tokens_missing": [ + "cWUSDT", + "cWUSDC" + ], + "minimum_gas_issue": false, + "native_balance": "0.446784013286210977", + "max_equal_seed_human": "0", + "funding_ready_now": false, + "exact_post_funding_deploy_block": null, + "rpc_env_key": "AVALANCHE_RPC_URL", + "router": "0x60aE616a2155Ee3d9A68541Ba4544862310933d4", + "factory": "0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10", + "token_addresses": { + "cWUSDT": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "cWUSDC": "0x0C242b513008Cd49C89078F5aFb237A3112251EB" + } + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-funding-readiness-latest.json", + "reports/extraction/promod-uniswap-v2-phase1-execution-checklist-latest.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase1-funding-readiness-latest.json b/reports/extraction/promod-uniswap-v2-phase1-funding-readiness-latest.json new file mode 100644 index 00000000..677a4551 --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase1-funding-readiness-latest.json @@ -0,0 +1,390 @@ +{ + "generated_at": "2026-04-17T20:05:54Z", + "program_name": "Mr. Promod Uniswap V2 phase 1 funding readiness", + "purpose": "Live deployer-wallet funding view for seeding cWUSDT/cWUSDC phase-1 pools chain by chain.", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "phase_1_pair": "cWUSDT/cWUSDC", + "completed_chain_ids": [ + 1, + 10, + 25, + 56, + 100, + 137, + 8453, + 42161, + 42220, + 43114 + ], + "ready_now_chain_ids": [], + "needs_funding_chain_ids": [], + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "phase_1_pair": "cWUSDT/cWUSDC", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "rpc_env_key": "ETHEREUM_MAINNET_RPC", + "factory": "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f", + "router": "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D", + "pair_address": "0x422608c5dDff909675ac2C5F872fD42f16B9287A", + "pair_exists": true, + "pair_seeded_live": true, + "native_balance": "0.028982898459925766", + "native_balance_ok_for_ops": true, + "cwusdt": { + "address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "decimals": 6, + "balance_raw": "397197013", + "balance_human": "397.197013", + "allowance_raw": "0" + }, + "cwusdc": { + "address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "max_equal_seed_human": "0", + "reserve0_raw": "8888511867466", + "reserve1_raw": "[8.888e12]", + "execution_status": "completed", + "funding_ready_now": false, + "funding_blockers": [ + "cWUSDC balance is zero" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "phase_1_pair": "cWUSDT/cWUSDC", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "rpc_env_key": "OPTIMISM_MAINNET_RPC", + "factory": "0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf", + "router": "0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2", + "pair_address": "0xe28BFf306442a8A512d2441847c27211a7C4C613", + "pair_exists": true, + "pair_seeded_live": true, + "native_balance": "0.001980670026642148", + "native_balance_ok_for_ops": true, + "cwusdt": { + "address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "cwusdc": { + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "max_equal_seed_human": "0", + "reserve0_raw": "3000000000", + "reserve1_raw": "[3e9]", + "execution_status": "completed", + "funding_ready_now": false, + "funding_blockers": [ + "cWUSDT balance is zero", + "cWUSDC balance is zero" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "phase_1_pair": "cWUSDT/cWUSDC", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "rpc_env_key": "CRONOS_RPC_URL", + "factory": "0x3B44B2a187a7b3824131F8db5a74194D0a42Fc15", + "router": "0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae", + "pair_address": "0x438d8E1a8E311d2ae4b75a38E0044675fD324133", + "pair_exists": true, + "pair_seeded_live": true, + "native_balance": "22.401143346977489259", + "native_balance_ok_for_ops": true, + "cwusdt": { + "address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "decimals": 6, + "balance_raw": "1000000000", + "balance_human": "1000", + "allowance_raw": "0" + }, + "cwusdc": { + "address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "decimals": 6, + "balance_raw": "1000000000", + "balance_human": "1000", + "allowance_raw": "0" + }, + "max_equal_seed_human": "1000", + "reserve0_raw": "3000000000", + "reserve1_raw": "[3e9]", + "execution_status": "completed", + "funding_ready_now": false, + "funding_blockers": [] + }, + { + "chain_id": 56, + "network": "BSC", + "phase_1_pair": "cWUSDT/cWUSDC", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "rpc_env_key": "BSC_RPC_URL", + "factory": "0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73", + "router": "0x10ED43C718714eb63d5aA57B78B54704E256024E", + "pair_address": "0x7e308c12bd609607DF9C4137E30235D5A9Da2A64", + "pair_exists": true, + "pair_seeded_live": true, + "native_balance": "0.010626271367072709", + "native_balance_ok_for_ops": true, + "cwusdt": { + "address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "decimals": 6, + "balance_raw": "1000000000", + "balance_human": "1000", + "allowance_raw": "0" + }, + "cwusdc": { + "address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "decimals": 6, + "balance_raw": "1000000000", + "balance_human": "1000", + "allowance_raw": "0" + }, + "max_equal_seed_human": "1000", + "reserve0_raw": "3000000000", + "reserve1_raw": "[3e9]", + "execution_status": "completed", + "funding_ready_now": false, + "funding_blockers": [] + }, + { + "chain_id": 100, + "network": "Gnosis", + "phase_1_pair": "cWUSDT/cWUSDC", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "rpc_env_key": "GNOSIS_MAINNET_RPC", + "factory": "0xc35DADB65012eC5796536bD9864eD8773aBc74C4", + "router": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", + "pair_address": "0x064d782Be0113Cb427f3Af0De9335C9F34A1de34", + "pair_exists": true, + "pair_seeded_live": true, + "native_balance": "2.407080479781350729", + "native_balance_ok_for_ops": true, + "cwusdt": { + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "cwusdc": { + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "max_equal_seed_human": "0", + "reserve0_raw": "4000000000", + "reserve1_raw": "[4e9]", + "execution_status": "completed", + "funding_ready_now": false, + "funding_blockers": [ + "cWUSDT balance is zero", + "cWUSDC balance is zero" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "phase_1_pair": "cWUSDT/cWUSDC", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "rpc_env_key": "POLYGON_MAINNET_RPC", + "factory": "0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32", + "router": "0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff", + "pair_address": "0x3411A20C39773d1A18cb53864893b236f41f1e99", + "pair_exists": true, + "pair_seeded_live": true, + "native_balance": "24.318080574425380349", + "native_balance_ok_for_ops": true, + "cwusdt": { + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "decimals": 6, + "balance_raw": "2686028", + "balance_human": "2.686028", + "allowance_raw": "0" + }, + "cwusdc": { + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "max_equal_seed_human": "0", + "reserve0_raw": "996297636", + "reserve1_raw": "[9.962e8]", + "execution_status": "completed", + "funding_ready_now": false, + "funding_blockers": [ + "cWUSDC balance is zero" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "phase_1_pair": "cWUSDT/cWUSDC", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "rpc_env_key": "BASE_MAINNET_RPC", + "factory": "0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E", + "router": "0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb", + "pair_address": "0x56eb93f747D3B8251d43849cC72B39c1899fcaca", + "pair_exists": true, + "pair_seeded_live": true, + "native_balance": "0.002877934067617928", + "native_balance_ok_for_ops": true, + "cwusdt": { + "address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "cwusdc": { + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "max_equal_seed_human": "0", + "reserve0_raw": "1000000000", + "reserve1_raw": "[1e9]", + "execution_status": "completed", + "funding_ready_now": false, + "funding_blockers": [ + "cWUSDT balance is zero", + "cWUSDC balance is zero" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "phase_1_pair": "cWUSDT/cWUSDC", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "rpc_env_key": "ARBITRUM_MAINNET_RPC", + "factory": "0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E", + "router": "0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb", + "pair_address": "0x2b2ea2EA9e7617de09FCb5063BEfafa01A9ef2b4", + "pair_exists": true, + "pair_seeded_live": true, + "native_balance": "0.001055113904178255", + "native_balance_ok_for_ops": true, + "cwusdt": { + "address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "cwusdc": { + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "max_equal_seed_human": "0", + "reserve0_raw": "3000000000", + "reserve1_raw": "[3e9]", + "execution_status": "completed", + "funding_ready_now": false, + "funding_blockers": [ + "cWUSDT balance is zero", + "cWUSDC balance is zero" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "phase_1_pair": "cWUSDT/cWUSDC", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "rpc_env_key": "CELO_MAINNET_RPC", + "factory": "0x62d5b84bE28a183aBB507E125B384122D2C25fAE", + "router": "0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121", + "pair_address": "0x6F97dE8AB68c722DcBC02cEA0cE6B587b8210052", + "pair_exists": true, + "pair_seeded_live": true, + "native_balance": "8.537307308649465530", + "native_balance_ok_for_ops": true, + "cwusdt": { + "address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "cwusdc": { + "address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "max_equal_seed_human": "0", + "reserve0_raw": "1000000000", + "reserve1_raw": "[1e9]", + "execution_status": "completed", + "funding_ready_now": false, + "funding_blockers": [ + "cWUSDT balance is zero", + "cWUSDC balance is zero" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche", + "phase_1_pair": "cWUSDT/cWUSDC", + "signer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "rpc_env_key": "AVALANCHE_RPC_URL", + "factory": "0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10", + "router": "0x60aE616a2155Ee3d9A68541Ba4544862310933d4", + "pair_address": "0x79c8eA153e77BC69b989f59F69BfA44c466D5DEE", + "pair_exists": true, + "pair_seeded_live": true, + "native_balance": "0.446784013286210977", + "native_balance_ok_for_ops": true, + "cwusdt": { + "address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "cwusdc": { + "address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "decimals": 6, + "balance_raw": "0", + "balance_human": "0", + "allowance_raw": "0" + }, + "max_equal_seed_human": "0", + "reserve0_raw": "800000", + "reserve1_raw": "[8e5]", + "execution_status": "completed", + "funding_ready_now": false, + "funding_blockers": [ + "cWUSDT balance is zero", + "cWUSDC balance is zero" + ] + } + ], + "source_artifacts": [ + "cross-chain-pmm-lps/config/deployment-status.json", + "smom-dbis-138/.env", + "smom-dbis-138/scripts/load-env.sh" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase1-remaining-8-operator-paste-pack-latest.json b/reports/extraction/promod-uniswap-v2-phase1-remaining-8-operator-paste-pack-latest.json new file mode 100644 index 00000000..5a379ecd --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase1-remaining-8-operator-paste-pack-latest.json @@ -0,0 +1,252 @@ +{ + "generated_at": "2026-04-17T18:51:53Z", + "program_name": "Mr. Promod Uniswap V2 phase 1 remaining 8 operator paste pack", + "purpose": "Flat paste-ready operator pack for the remaining eight phase-1 chains after chain 1 and 137.", + "entries": [ + { + "chain_id": 10, + "network": "Optimism", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "cWUSDC": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "cw_bridge_env": "CW_BRIDGE_OPTIMISM", + "selector_env": "OPTIMISM_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${OPTIMISM_MAINNET_RPC}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_OPTIMISM}\"\nexport DEST_CWUSDT=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport DEST_CWUSDC=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\nexport DEST_SELECTOR=\"${OPTIMISM_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${OPTIMISM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${OPTIMISM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_MAINNET_RPC}\"\nexport FACTORY=\"0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf\"\nexport ROUTER=\"0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2\"\nexport CWUSDT=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport CWUSDC=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 25, + "network": "Cronos", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "cWUSDC": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + }, + "cw_bridge_env": "CW_BRIDGE_CRONOS", + "selector_env": "CRONOS_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${CRONOS_RPC_URL}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_CRONOS}\"\nexport DEST_CWUSDT=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport DEST_CWUSDC=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\nexport DEST_SELECTOR=\"${CRONOS_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${CRONOS_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${CRONOS_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"0x3B44B2a187a7b3824131F8db5a74194D0a42Fc15\"\nexport ROUTER=\"0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae\"\nexport CWUSDT=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport CWUSDC=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 56, + "network": "BSC", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "cWUSDC": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" + }, + "cw_bridge_env": "CW_BRIDGE_BSC", + "selector_env": "BSC_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${BSC_RPC_URL}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_BSC}\"\nexport DEST_CWUSDT=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport DEST_CWUSDC=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\nexport DEST_SELECTOR=\"${BSC_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${BSC_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${BSC_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73\"\nexport ROUTER=\"0x10ED43C718714eb63d5aA57B78B54704E256024E\"\nexport CWUSDT=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport CWUSDC=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 100, + "network": "Gnosis", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "cWUSDC": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "cw_bridge_env": "CW_BRIDGE_GNOSIS", + "selector_env": "GNOSIS_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${GNOSIS_MAINNET_RPC}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_GNOSIS}\"\nexport DEST_CWUSDT=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport DEST_CWUSDC=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\nexport DEST_SELECTOR=\"${GNOSIS_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${GNOSIS_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${GNOSIS_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_MAINNET_RPC}\"\nexport FACTORY=\"0xc35DADB65012eC5796536bD9864eD8773aBc74C4\"\nexport ROUTER=\"0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506\"\nexport CWUSDT=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport CWUSDC=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 8453, + "network": "Base", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "cWUSDC": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "cw_bridge_env": "CW_BRIDGE_BASE", + "selector_env": "BASE_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${BASE_MAINNET_RPC}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_BASE}\"\nexport DEST_CWUSDT=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport DEST_CWUSDC=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\nexport DEST_SELECTOR=\"${BASE_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${BASE_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${BASE_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_MAINNET_RPC}\"\nexport FACTORY=\"0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E\"\nexport ROUTER=\"0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb\"\nexport CWUSDT=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport CWUSDC=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "cWUSDC": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "cw_bridge_env": "CW_BRIDGE_ARBITRUM", + "selector_env": "ARBITRUM_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${ARBITRUM_MAINNET_RPC}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_ARBITRUM}\"\nexport DEST_CWUSDT=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport DEST_CWUSDC=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\nexport DEST_SELECTOR=\"${ARBITRUM_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${ARBITRUM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${ARBITRUM_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_MAINNET_RPC}\"\nexport FACTORY=\"0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E\"\nexport ROUTER=\"0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb\"\nexport CWUSDT=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport CWUSDC=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 42220, + "network": "Celo", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "mint_then_seed", + "recommended_action": "bridge_or_mint_destination_then_seed", + "cUSDT_to_bridge_3x": "3000", + "cUSDC_to_bridge_3x": "3000", + "destination_cw_addresses": { + "cWUSDT": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "cWUSDC": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" + }, + "cw_bridge_env": "CW_BRIDGE_CELO", + "selector_env": null, + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${CELO_MAINNET_RPC}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_CELO}\"\nexport DEST_CWUSDT=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport DEST_CWUSDC=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"3000\"\nexport BRIDGE_CUSDC_HUMAN=\"3000\"\nexport BRIDGE_CUSDT_RAW=\"3000000000\"\nexport BRIDGE_CUSDC_RAW=\"3000000000\"\n# DEST_SELECTOR env is not currently documented for this chain in smom-dbis-138/.env\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDT", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x73376eB92c16977B126dB9112936A20Fa0De3442\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${CELO_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + }, + { + "token": "cWUSDC", + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"1000000000\" \\\n --rpc-url \"${CELO_MAINNET_RPC}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_MAINNET_RPC}\"\nexport FACTORY=\"0x62d5b84bE28a183aBB507E125B384122D2C25fAE\"\nexport ROUTER=\"0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121\"\nexport CWUSDT=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport CWUSDC=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"3000000000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + }, + { + "chain_id": 43114, + "network": "Avalanche", + "phase_1_pair": "cWUSDT/cWUSDC", + "preferred_path": "bridge_then_seed", + "recommended_action": "bridge_or_mint_missing_side_then_seed", + "cUSDT_to_bridge_3x": "0", + "cUSDC_to_bridge_3x": "2.4", + "destination_cw_addresses": { + "cWUSDT": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "cWUSDC": "0x0C242b513008Cd49C89078F5aFb237A3112251EB" + }, + "cw_bridge_env": "CW_BRIDGE_AVALANCHE", + "selector_env": "AVALANCHE_SELECTOR", + "bridge_preflight_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport SOURCE_RPC_URL=\"${CHAIN138_RPC}\"\nexport DEST_RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport DEST_CW_BRIDGE=\"${CW_BRIDGE_AVALANCHE}\"\nexport DEST_CWUSDT=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport DEST_CWUSDC=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport SOURCE_CUSDT=\"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\"\nexport SOURCE_CUSDC=\"0xf22258f57794CC8E06237084b353Ab30fFfa640b\"\nexport BRIDGE_CUSDT_HUMAN=\"0\"\nexport BRIDGE_CUSDC_HUMAN=\"2.4\"\nexport BRIDGE_CUSDT_RAW=\"0\"\nexport BRIDGE_CUSDC_RAW=\"2400000\"\nexport DEST_SELECTOR=\"${AVALANCHE_SELECTOR}\"\n\ncast call \"$DEST_CW_BRIDGE\" 'feeToken()(address)' --rpc-url \"$DEST_RPC_URL\"\ncast call \"$DEST_CW_BRIDGE\" 'calculateFee(uint64,uint256)(uint256)' \"$DEST_SELECTOR\" \"$BRIDGE_CUSDC_RAW\" --rpc-url \"$DEST_RPC_URL\"\n\necho \"Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above.\"", + "mint_fallback_steps": [ + { + "token": "cWUSDC", + "amount_human": "0.8", + "amount_raw": 800000, + "exact_mint_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\ncast send \"0x0C242b513008Cd49C89078F5aFb237A3112251EB\" 'mint(address,uint256)' \"$(cast wallet address --private-key \"$PRIVATE_KEY\")\" \"800000\" \\\n --rpc-url \"${AVALANCHE_RPC_URL}\" --private-key \"$PRIVATE_KEY\" --legacy --gas-limit 100000" + } + ], + "post_funding_deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10\"\nexport ROUTER=\"0x60aE616a2155Ee3d9A68541Ba4544862310933d4\"\nexport CWUSDT=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport CWUSDC=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport AMOUNT_RAW=\"2400000\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\n\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$CWUSDT\" \"$CWUSDC\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi\n\ncast send \"$CWUSDT\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$CWUSDC\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$CWUSDT\" \"$CWUSDC\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$AMOUNT_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\npython3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered\nbash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh\nnode cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json" + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-bridge-or-mint-runbook-latest.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase1-remaining-8-shell-paste-pack-latest.json b/reports/extraction/promod-uniswap-v2-phase1-remaining-8-shell-paste-pack-latest.json new file mode 100644 index 00000000..933f4412 --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase1-remaining-8-shell-paste-pack-latest.json @@ -0,0 +1,19 @@ +{ + "generated_at": "2026-04-17T18:51:53Z", + "program_name": "Mr. Promod Uniswap V2 phase 1 remaining 8 shell paste pack", + "purpose": "Pure shell-only paste pack with the exact remaining eight phase-1 blocks in execution order and no headings.", + "output_script": "docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_SHELL_PASTE_PACK.sh", + "chain_order": [ + 10, + 25, + 56, + 100, + 8453, + 42161, + 42220, + 43114 + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-remaining-8-operator-paste-pack-latest.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase2-operator-paste-pack-latest.json b/reports/extraction/promod-uniswap-v2-phase2-operator-paste-pack-latest.json new file mode 100644 index 00000000..fb9e5abb --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase2-operator-paste-pack-latest.json @@ -0,0 +1,3626 @@ +{ + "generated_at": "2026-04-17T20:11:49Z", + "program_name": "Mr. Promod Uniswap V2 phase 2 operator paste pack", + "purpose": "Flat paste-ready operator pack for every phase-2 cW* wrapped-mesh pair in execution order.", + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_1_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_1_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_1_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_1_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_1_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_1_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_1_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_1_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_1_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_1_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_1_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_1_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_1_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc074007dc0bfb384b1cf6426a56287ed23fe4d52\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc074007dc0bfb384b1cf6426a56287ed23fe4d52\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_1_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc074007dc0bfb384b1cf6426a56287ed23fe4d52\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc074007dc0bfb384b1cf6426a56287ed23fe4d52\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_1_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_1_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_1_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_1_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_1_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_1_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_1_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_1_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_10_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_10_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_10_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_10_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_10_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_10_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_10_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_10_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_10_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4ab39b5bab7b463435209a9039bd40cf241f5a82\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4ab39b5bab7b463435209a9039bd40cf241f5a82\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_10_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4ab39b5bab7b463435209a9039bd40cf241f5a82\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4ab39b5bab7b463435209a9039bd40cf241f5a82\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_10_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_10_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_10_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3f8c409c6072a2b6a4ff17071927ba70f80c725f\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3f8c409c6072a2b6a4ff17071927ba70f80c725f\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_10_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3f8c409c6072a2b6a4ff17071927ba70f80c725f\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3f8c409c6072a2b6a4ff17071927ba70f80c725f\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_10_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_10_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_10_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_10_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_10_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_10_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_10_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_10_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_25_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_25_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_25_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_25_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_25_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_25_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_25_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_25_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_25_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7574d37F42528B47c88962931e48FC61608a4050\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7574d37F42528B47c88962931e48FC61608a4050\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_25_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7574d37F42528B47c88962931e48FC61608a4050\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7574d37F42528B47c88962931e48FC61608a4050\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_25_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_25_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_25_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe5c65A76A541368d3061fe9E7A2140cABB903dbF\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe5c65A76A541368d3061fe9E7A2140cABB903dbF\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_25_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe5c65A76A541368d3061fe9E7A2140cABB903dbF\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe5c65A76A541368d3061fe9E7A2140cABB903dbF\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_25_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_25_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_25_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_25_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_25_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_25_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_25_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_25_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_56_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7062f35567BBAb4d98dc33af03B0d14Df42294D5\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7062f35567BBAb4d98dc33af03B0d14Df42294D5\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_56_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7062f35567BBAb4d98dc33af03B0d14Df42294D5\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7062f35567BBAb4d98dc33af03B0d14Df42294D5\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_56_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_56_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_56_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_56_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_56_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_56_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_56_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x50b073d0D1D2f002745cb9FC28a057d5be84911c\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x50b073d0D1D2f002745cb9FC28a057d5be84911c\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_56_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x50b073d0D1D2f002745cb9FC28a057d5be84911c\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x50b073d0D1D2f002745cb9FC28a057d5be84911c\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_56_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_56_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_56_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_56_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_56_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_56_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_56_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_56_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWUSDW/cWUSDC", + "amount_env_a": "PHASE2_56_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWUSDW_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWUSDW/cWUSDT", + "amount_env_a": "PHASE2_56_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWUSDW_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_56_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_56_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_56_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_56_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_100_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_100_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_100_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_100_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_100_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_100_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_100_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_100_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_100_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_100_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_100_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_100_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_100_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_100_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_100_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_100_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_100_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_100_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_100_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_100_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_100_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_100_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_137_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xFb4B6Cc81211F7d886950158294A44C312abCA29\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xFb4B6Cc81211F7d886950158294A44C312abCA29\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_137_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xFb4B6Cc81211F7d886950158294A44C312abCA29\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xFb4B6Cc81211F7d886950158294A44C312abCA29\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_137_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_137_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_137_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_137_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_137_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_137_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_137_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_137_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_137_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_137_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_137_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x948690147D2e50ffe50C5d38C14125aD6a9FA036\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x948690147D2e50ffe50C5d38C14125aD6a9FA036\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_137_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x948690147D2e50ffe50C5d38C14125aD6a9FA036\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x948690147D2e50ffe50C5d38C14125aD6a9FA036\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_137_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_137_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_137_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_137_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_137_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_137_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_137_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_137_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb145ba9a370681e3545f60e55621ebf218b1031\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb145ba9a370681e3545f60e55621ebf218b1031\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb145ba9a370681e3545f60e55621ebf218b1031\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb145ba9a370681e3545f60e55621ebf218b1031\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_8453_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_8453_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_8453_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_8453_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_8453_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_8453_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_42161_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_42161_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_42161_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_42161_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_42161_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_42161_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xb6D2f38b9015F32ccE8818509c712264E7fceeD3\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xb6D2f38b9015F32ccE8818509c712264E7fceeD3\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xb6D2f38b9015F32ccE8818509c712264E7fceeD3\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xb6D2f38b9015F32ccE8818509c712264E7fceeD3\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_42220_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_42220_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xE37c332a88f112F9e039C5d92D821402A89c7052\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xE37c332a88f112F9e039C5d92D821402A89c7052\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xE37c332a88f112F9e039C5d92D821402A89c7052\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xE37c332a88f112F9e039C5d92D821402A89c7052\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_42220_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_42220_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWUSDW/cWUSDC", + "amount_env_a": "PHASE2_42220_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWUSDW_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWUSDW/cWUSDT", + "amount_env_a": "PHASE2_42220_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWUSDW_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_42220_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_42220_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x04e1e22b0d41e99f4275bd40a50480219bc9a223\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x04e1e22b0d41e99f4275bd40a50480219bc9a223\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x04e1e22b0d41e99f4275bd40a50480219bc9a223\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x04e1e22b0d41e99f4275bd40a50480219bc9a223\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_43114_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_43114_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_43114_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_43114_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWUSDW/cWUSDC", + "amount_env_a": "PHASE2_43114_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWUSDW_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWUSDW/cWUSDT", + "amount_env_a": "PHASE2_43114_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWUSDW_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_43114_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_43114_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase2-operator-sequence-latest.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase2-operator-sequence-latest.json b/reports/extraction/promod-uniswap-v2-phase2-operator-sequence-latest.json new file mode 100644 index 00000000..434d59ff --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase2-operator-sequence-latest.json @@ -0,0 +1,3109 @@ +{ + "generated_at": "2026-04-18T02:19:49Z", + "program_name": "Mr. Promod Uniswap V2 cW Deep Liquidity Program", + "purpose": "Exact phase-2 live operator sequence for the full cW* wrapped mesh rollout, using per-pair amount envs rather than fixed sizing assumptions.", + "mainnet_funding_posture": { + "mode": "triple-rail-support", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT", + "cWAUSDT" + ], + "notes": [ + "cWUSDC and cWUSDT remain the core settlement-adjacent rails.", + "cWAUSDT is the wrapped-depth support asset when canonical USDC or USDT inventory is not yet deep enough." + ] + }, + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "tier": "tier_1", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_2_pair_count": 22, + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "rpc_env_keys": [ + "ETHEREUM_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_1_UNISWAP_V2_FACTORY", + "CHAIN_1_UNISWAP_V2_ROUTER", + "CHAIN_1_UNISWAP_V2_START_BLOCK" + ], + "phase_2_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "token_a": "cWAUDC", + "token_b": "cWUSDC", + "token_a_address": "0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_1_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUDC/cWUSDT", + "token_a": "cWAUDC", + "token_b": "cWUSDT", + "token_a_address": "0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_1_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c000000000000000000000000000000000001", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_1_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c000000000000000000000000000000000001", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_1_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_1_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_1_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0x0F91C5E6Ddd46403746aAC970D05d70FFe404780", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_1_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0x0F91C5E6Ddd46403746aAC970D05d70FFe404780", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_1_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDC", + "token_a": "cWEURC", + "token_b": "cWUSDC", + "token_a_address": "0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_1_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDT", + "token_a": "cWEURC", + "token_b": "cWUSDT", + "token_a_address": "0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_1_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_1_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_1_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDC", + "token_a": "cWGBPC", + "token_b": "cWUSDC", + "token_a_address": "0xc074007dc0bfb384b1cf6426a56287ed23fe4d52", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_1_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc074007dc0bfb384b1cf6426a56287ed23fe4d52\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc074007dc0bfb384b1cf6426a56287ed23fe4d52\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDT", + "token_a": "cWGBPC", + "token_b": "cWUSDT", + "token_a_address": "0xc074007dc0bfb384b1cf6426a56287ed23fe4d52", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_1_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc074007dc0bfb384b1cf6426a56287ed23fe4d52\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc074007dc0bfb384b1cf6426a56287ed23fe4d52\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_1_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_1_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x07EEd0D7dD40984e47B9D3a3bdded1c536435582", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_1_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x07EEd0D7dD40984e47B9D3a3bdded1c536435582", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_1_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0x572Be0fa8CA0534d642A567CEDb398B771D8a715", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_1_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0x572Be0fa8CA0534d642A567CEDb398B771D8a715", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_1_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0xACE1DBF857549a11aF1322e1f91F2F64b029c906", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_1_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0xACE1DBF857549a11aF1322e1f91F2F64b029c906", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_1_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_1_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_1_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "tier": "tier_1", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_2_pair_count": 22, + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "rpc_env_keys": [ + "OPTIMISM_RPC_URL", + "OPTIMISM_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_10_UNISWAP_V2_FACTORY", + "CHAIN_10_UNISWAP_V2_ROUTER", + "CHAIN_10_UNISWAP_V2_START_BLOCK" + ], + "phase_2_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "token_a": "cWAUDC", + "token_b": "cWUSDC", + "token_a_address": "0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_10_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUDC/cWUSDT", + "token_a": "cWAUDC", + "token_b": "cWUSDT", + "token_a_address": "0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_10_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c00000000000000000000000000000000000a", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_10_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c00000000000000000000000000000000000a", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_10_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0x9f6d2578003fe04e58a9819a4943732f2a203a61", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_10_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0x9f6d2578003fe04e58a9819a4943732f2a203a61", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_10_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_10_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_10_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDC", + "token_a": "cWEURC", + "token_b": "cWUSDC", + "token_a_address": "0x4ab39b5bab7b463435209a9039bd40cf241f5a82", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_10_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4ab39b5bab7b463435209a9039bd40cf241f5a82\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4ab39b5bab7b463435209a9039bd40cf241f5a82\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDT", + "token_a": "cWEURC", + "token_b": "cWUSDT", + "token_a_address": "0x4ab39b5bab7b463435209a9039bd40cf241f5a82", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_10_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4ab39b5bab7b463435209a9039bd40cf241f5a82\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4ab39b5bab7b463435209a9039bd40cf241f5a82\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x6f521cd9fcf7884cd4e9486c7790e818638e09dd", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_10_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x6f521cd9fcf7884cd4e9486c7790e818638e09dd", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_10_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDC", + "token_a": "cWGBPC", + "token_b": "cWUSDC", + "token_a_address": "0x3f8c409c6072a2b6a4ff17071927ba70f80c725f", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_10_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3f8c409c6072a2b6a4ff17071927ba70f80c725f\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3f8c409c6072a2b6a4ff17071927ba70f80c725f\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDT", + "token_a": "cWGBPC", + "token_b": "cWUSDT", + "token_a_address": "0x3f8c409c6072a2b6a4ff17071927ba70f80c725f", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_10_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3f8c409c6072a2b6a4ff17071927ba70f80c725f\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3f8c409c6072a2b6a4ff17071927ba70f80c725f\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x456373d095d6b9260f01709f93fccf1d8aa14d11", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_10_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x456373d095d6b9260f01709f93fccf1d8aa14d11", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_10_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_10_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_10_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0xddc4063f770f7c49d00b5a10fb552e922aa39b2c", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_10_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0xddc4063f770f7c49d00b5a10fb552e922aa39b2c", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_10_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0x145e8e8c49b6a021969dd9d2c01c8fea44374f61", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_10_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0x145e8e8c49b6a021969dd9d2c01c8fea44374f61", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_10_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_10_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_10_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "tier": "tier_2", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_2_pair_count": 22, + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "rpc_env_keys": [ + "CRONOS_RPC_URL", + "CRONOS_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_25_UNISWAP_V2_FACTORY", + "CHAIN_25_UNISWAP_V2_ROUTER", + "CHAIN_25_UNISWAP_V2_START_BLOCK" + ], + "phase_2_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "token_a": "cWAUDC", + "token_b": "cWUSDC", + "token_a_address": "0xff3084410A732231472Ee9f93F5855dA89CC5254", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_25_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUDC/cWUSDT", + "token_a": "cWAUDC", + "token_b": "cWUSDT", + "token_a_address": "0xff3084410A732231472Ee9f93F5855dA89CC5254", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_25_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c000000000000000000000000000000000019", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_25_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c000000000000000000000000000000000019", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_25_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0x32aD687F24F77bF8C86605c202c829163Ac5Ab36", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_25_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0x32aD687F24F77bF8C86605c202c829163Ac5Ab36", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_25_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0xB55F49D6316322d5caA96D34C6e4b1003BD3E670", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_25_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0xB55F49D6316322d5caA96D34C6e4b1003BD3E670", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_25_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDC", + "token_a": "cWEURC", + "token_b": "cWUSDC", + "token_a_address": "0x7574d37F42528B47c88962931e48FC61608a4050", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_25_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7574d37F42528B47c88962931e48FC61608a4050\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7574d37F42528B47c88962931e48FC61608a4050\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDT", + "token_a": "cWEURC", + "token_b": "cWUSDT", + "token_a_address": "0x7574d37F42528B47c88962931e48FC61608a4050", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_25_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7574d37F42528B47c88962931e48FC61608a4050\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7574d37F42528B47c88962931e48FC61608a4050\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x9f833b4f1012F52eb3317b09922a79c6EdFca77D", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_25_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x9f833b4f1012F52eb3317b09922a79c6EdFca77D", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_25_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDC", + "token_a": "cWGBPC", + "token_b": "cWUSDC", + "token_a_address": "0xe5c65A76A541368d3061fe9E7A2140cABB903dbF", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_25_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe5c65A76A541368d3061fe9E7A2140cABB903dbF\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe5c65A76A541368d3061fe9E7A2140cABB903dbF\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDT", + "token_a": "cWGBPC", + "token_b": "cWUSDT", + "token_a_address": "0xe5c65A76A541368d3061fe9E7A2140cABB903dbF", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_25_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe5c65A76A541368d3061fe9E7A2140cABB903dbF\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe5c65A76A541368d3061fe9E7A2140cABB903dbF\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0xBb58fa16bAc8E789f09C14243adEE6480D8213A2", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_25_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0xBb58fa16bAc8E789f09C14243adEE6480D8213A2", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_25_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_25_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_25_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_25_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_25_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_25_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_25_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_25_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_25_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC", + "tier": "tier_2", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_2_pair_count": 24, + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "rpc_env_keys": [ + "BSC_RPC_URL", + "BSC_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_56_UNISWAP_V2_FACTORY", + "CHAIN_56_UNISWAP_V2_ROUTER", + "CHAIN_56_UNISWAP_V2_START_BLOCK" + ], + "phase_2_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "token_a": "cWAUDC", + "token_b": "cWUSDC", + "token_a_address": "0x7062f35567BBAb4d98dc33af03B0d14Df42294D5", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_56_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7062f35567BBAb4d98dc33af03B0d14Df42294D5\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7062f35567BBAb4d98dc33af03B0d14Df42294D5\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUDC/cWUSDT", + "token_a": "cWAUDC", + "token_b": "cWUSDT", + "token_a_address": "0x7062f35567BBAb4d98dc33af03B0d14Df42294D5", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_56_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7062f35567BBAb4d98dc33af03B0d14Df42294D5\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7062f35567BBAb4d98dc33af03B0d14Df42294D5\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c000000000000000000000000000000000038", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_56_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c000000000000000000000000000000000038", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_56_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0x9AE7a6B311584D60Fa93f973950d609061875775", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_56_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0x9AE7a6B311584D60Fa93f973950d609061875775", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_56_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_56_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_56_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDC", + "token_a": "cWEURC", + "token_b": "cWUSDC", + "token_a_address": "0x50b073d0D1D2f002745cb9FC28a057d5be84911c", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_56_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x50b073d0D1D2f002745cb9FC28a057d5be84911c\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x50b073d0D1D2f002745cb9FC28a057d5be84911c\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDT", + "token_a": "cWEURC", + "token_b": "cWUSDT", + "token_a_address": "0x50b073d0D1D2f002745cb9FC28a057d5be84911c", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_56_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x50b073d0D1D2f002745cb9FC28a057d5be84911c\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x50b073d0D1D2f002745cb9FC28a057d5be84911c\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_56_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_56_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDC", + "token_a": "cWGBPC", + "token_b": "cWUSDC", + "token_a_address": "0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_56_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDT", + "token_a": "cWGBPC", + "token_b": "cWUSDT", + "token_a_address": "0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_56_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_56_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_56_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_56_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_56_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWUSDW/cWUSDC", + "token_a": "cWUSDW", + "token_b": "cWUSDC", + "token_a_address": "0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_56_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWUSDW_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWUSDW/cWUSDT", + "token_a": "cWUSDW", + "token_b": "cWUSDT", + "token_a_address": "0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_56_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWUSDW_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0xCB145bA9A370681e3545F60e55621eBf218B1031", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_56_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0xCB145bA9A370681e3545F60e55621eBf218B1031", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_56_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0x73E0CF8BF861D376B3a4C87c136F975027f045ff", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_56_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0x73E0CF8BF861D376B3a4C87c136F975027f045ff", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_56_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_56_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_56_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "tier": "tier_2", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_2_pair_count": 22, + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "rpc_env_keys": [ + "GNOSIS_RPC_URL", + "GNOSIS_MAINNET_RPC", + "GNOSIS_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_100_UNISWAP_V2_FACTORY", + "CHAIN_100_UNISWAP_V2_ROUTER", + "CHAIN_100_UNISWAP_V2_START_BLOCK" + ], + "phase_2_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "token_a": "cWAUDC", + "token_b": "cWUSDC", + "token_a_address": "0xddc4063f770f7c49d00b5a10fb552e922aa39b2c", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_100_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUDC/cWUSDT", + "token_a": "cWAUDC", + "token_b": "cWUSDT", + "token_a_address": "0xddc4063f770f7c49d00b5a10fb552e922aa39b2c", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_100_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c000000000000000000000000000000000064", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_100_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c000000000000000000000000000000000064", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_100_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0xa7133c78e0ec74503a5941bcbd44257615b6b4f6", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_100_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0xa7133c78e0ec74503a5941bcbd44257615b6b4f6", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_100_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0x46d90d7947f1139477c206c39268923b99cf09e4", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_100_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0x46d90d7947f1139477c206c39268923b99cf09e4", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_100_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDC", + "token_a": "cWEURC", + "token_b": "cWUSDC", + "token_a_address": "0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_100_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDT", + "token_a": "cWEURC", + "token_b": "cWUSDT", + "token_a_address": "0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_100_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_100_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_100_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDC", + "token_a": "cWGBPC", + "token_b": "cWUSDC", + "token_a_address": "0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_100_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDT", + "token_a": "cWGBPC", + "token_b": "cWUSDT", + "token_a_address": "0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_100_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x9f6d2578003fe04e58a9819a4943732f2a203a61", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_100_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x9f6d2578003fe04e58a9819a4943732f2a203a61", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_100_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x145e8e8c49b6a021969dd9d2c01c8fea44374f61", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_100_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x145e8e8c49b6a021969dd9d2c01c8fea44374f61", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_100_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_100_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_100_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0xc6189d404dc60cae7b48e2190e44770a03193e5f", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_100_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0xc6189d404dc60cae7b48e2190e44770a03193e5f", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_100_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_100_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_100_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "tier": "tier_1", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_2_pair_count": 22, + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "rpc_env_keys": [ + "POLYGON_MAINNET_RPC", + "POLYGON_RPC_URL" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_137_UNISWAP_V2_FACTORY", + "CHAIN_137_UNISWAP_V2_ROUTER", + "CHAIN_137_UNISWAP_V2_START_BLOCK" + ], + "phase_2_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "token_a": "cWAUDC", + "token_b": "cWUSDC", + "token_a_address": "0xFb4B6Cc81211F7d886950158294A44C312abCA29", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_137_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xFb4B6Cc81211F7d886950158294A44C312abCA29\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xFb4B6Cc81211F7d886950158294A44C312abCA29\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUDC/cWUSDT", + "token_a": "cWAUDC", + "token_b": "cWUSDT", + "token_a_address": "0xFb4B6Cc81211F7d886950158294A44C312abCA29", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_137_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xFb4B6Cc81211F7d886950158294A44C312abCA29\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xFb4B6Cc81211F7d886950158294A44C312abCA29\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c000000000000000000000000000000000089", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_137_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c000000000000000000000000000000000089", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_137_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0xc9750828124D4c10e7a6f4B655cA8487bD3842EB", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_137_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0xc9750828124D4c10e7a6f4B655cA8487bD3842EB", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_137_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_137_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_137_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDC", + "token_a": "cWEURC", + "token_b": "cWUSDC", + "token_a_address": "0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_137_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDT", + "token_a": "cWEURC", + "token_b": "cWUSDT", + "token_a_address": "0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_137_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_137_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_137_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDC", + "token_a": "cWGBPC", + "token_b": "cWUSDC", + "token_a_address": "0x948690147D2e50ffe50C5d38C14125aD6a9FA036", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_137_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x948690147D2e50ffe50C5d38C14125aD6a9FA036\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x948690147D2e50ffe50C5d38C14125aD6a9FA036\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDT", + "token_a": "cWGBPC", + "token_b": "cWUSDT", + "token_a_address": "0x948690147D2e50ffe50C5d38C14125aD6a9FA036", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_137_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x948690147D2e50ffe50C5d38C14125aD6a9FA036\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x948690147D2e50ffe50C5d38C14125aD6a9FA036\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_137_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_137_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_137_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_137_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0x328Cd365Bb35524297E68ED28c6fF2C9557d1363", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_137_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0x328Cd365Bb35524297E68ED28c6fF2C9557d1363", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_137_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_137_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_137_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_137_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_137_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "tier": "tier_1", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_2_pair_count": 22, + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "rpc_env_keys": [ + "BASE_RPC_URL", + "BASE_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_8453_UNISWAP_V2_FACTORY", + "CHAIN_8453_UNISWAP_V2_ROUTER", + "CHAIN_8453_UNISWAP_V2_START_BLOCK" + ], + "phase_2_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "token_a": "cWAUDC", + "token_b": "cWUSDC", + "token_a_address": "0xa846aead3071df1b6439d5d813156ace7c2c1da1", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_8453_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUDC/cWUSDT", + "token_a": "cWAUDC", + "token_b": "cWUSDT", + "token_a_address": "0xa846aead3071df1b6439d5d813156ace7c2c1da1", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_8453_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c000000000000000000000000000000002105", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_8453_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c000000000000000000000000000000002105", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_8453_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0xdc383c489533a4dd9a6bd3007386e25d5078b878", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_8453_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0xdc383c489533a4dd9a6bd3007386e25d5078b878", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_8453_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0xc1535e88578d984f12eab55863376b8d8b9fb05a", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_8453_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0xc1535e88578d984f12eab55863376b8d8b9fb05a", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_8453_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDC", + "token_a": "cWEURC", + "token_b": "cWUSDC", + "token_a_address": "0xcb145ba9a370681e3545f60e55621ebf218b1031", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_8453_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb145ba9a370681e3545f60e55621ebf218b1031\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb145ba9a370681e3545f60e55621ebf218b1031\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDT", + "token_a": "cWEURC", + "token_b": "cWUSDT", + "token_a_address": "0xcb145ba9a370681e3545f60e55621ebf218b1031", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_8453_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb145ba9a370681e3545f60e55621ebf218b1031\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb145ba9a370681e3545f60e55621ebf218b1031\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x73e0cf8bf861d376b3a4c87c136f975027f045ff", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_8453_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x73e0cf8bf861d376b3a4c87c136f975027f045ff", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_8453_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDC", + "token_a": "cWGBPC", + "token_b": "cWUSDC", + "token_a_address": "0x2a0023ad5ce1ac6072b454575996dffb1bb11b16", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_8453_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDT", + "token_a": "cWGBPC", + "token_b": "cWUSDT", + "token_a_address": "0x2a0023ad5ce1ac6072b454575996dffb1bb11b16", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_8453_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_8453_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_8453_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x29828e9ab2057cd3df3c9211455ae1f76e53d2af", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_8453_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x29828e9ab2057cd3df3c9211455ae1f76e53d2af", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_8453_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0x7e4b4682453bcce19ec903fb69153d3031986bc4", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_8453_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0x7e4b4682453bcce19ec903fb69153d3031986bc4", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_8453_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_8453_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_8453_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_8453_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_8453_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "tier": "tier_1", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_2_pair_count": 22, + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "rpc_env_keys": [ + "ARBITRUM_RPC_URL", + "ARBITRUM_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_42161_UNISWAP_V2_FACTORY", + "CHAIN_42161_UNISWAP_V2_ROUTER", + "CHAIN_42161_UNISWAP_V2_START_BLOCK" + ], + "phase_2_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "token_a": "cWAUDC", + "token_b": "cWUSDC", + "token_a_address": "0xc1535e88578d984f12eab55863376b8d8b9fb05a", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_42161_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUDC/cWUSDT", + "token_a": "cWAUDC", + "token_b": "cWUSDT", + "token_a_address": "0xc1535e88578d984f12eab55863376b8d8b9fb05a", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_42161_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c00000000000000000000000000000000a4b1", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_42161_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c00000000000000000000000000000000a4b1", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_42161_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_42161_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_42161_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0x7e4b4682453bcce19ec903fb69153d3031986bc4", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_42161_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0x7e4b4682453bcce19ec903fb69153d3031986bc4", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_42161_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDC", + "token_a": "cWEURC", + "token_b": "cWUSDC", + "token_a_address": "0x2a0023ad5ce1ac6072b454575996dffb1bb11b16", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_42161_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDT", + "token_a": "cWEURC", + "token_b": "cWUSDT", + "token_a_address": "0x2a0023ad5ce1ac6072b454575996dffb1bb11b16", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_42161_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2a0023ad5ce1ac6072b454575996dffb1bb11b16\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_42161_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_42161_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDC", + "token_a": "cWGBPC", + "token_b": "cWUSDC", + "token_a_address": "0xa846aead3071df1b6439d5d813156ace7c2c1da1", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_42161_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDT", + "token_a": "cWGBPC", + "token_b": "cWUSDT", + "token_a_address": "0xa846aead3071df1b6439d5d813156ace7c2c1da1", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_42161_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa846aead3071df1b6439d5d813156ace7c2c1da1\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x29828e9ab2057cd3df3c9211455ae1f76e53d2af", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_42161_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x29828e9ab2057cd3df3c9211455ae1f76e53d2af", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_42161_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0xdc383c489533a4dd9a6bd3007386e25d5078b878", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_42161_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0xdc383c489533a4dd9a6bd3007386e25d5078b878", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_42161_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0xa7762b63c4871581885ad17c5714ebb286a7480b", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_42161_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0xa7762b63c4871581885ad17c5714ebb286a7480b", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_42161_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0x66568899ffe8f00b25dc470e878b65a478994e76", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_42161_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0x66568899ffe8f00b25dc470e878b65a478994e76", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_42161_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_42161_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42161_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "tier": "tier_2", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_2_pair_count": 24, + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "rpc_env_keys": [ + "CELO_RPC_URL", + "CELO_MAINNET_RPC", + "CELO_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_42220_UNISWAP_V2_FACTORY", + "CHAIN_42220_UNISWAP_V2_ROUTER", + "CHAIN_42220_UNISWAP_V2_START_BLOCK" + ], + "phase_2_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "token_a": "cWAUDC", + "token_b": "cWUSDC", + "token_a_address": "0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_42220_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUDC/cWUSDT", + "token_a": "cWAUDC", + "token_b": "cWUSDT", + "token_a_address": "0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_42220_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c00000000000000000000000000000000a4ec", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_42220_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c00000000000000000000000000000000a4ec", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_42220_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_42220_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_42220_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_42220_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_42220_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDC", + "token_a": "cWEURC", + "token_b": "cWUSDC", + "token_a_address": "0xb6D2f38b9015F32ccE8818509c712264E7fceeD3", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_42220_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xb6D2f38b9015F32ccE8818509c712264E7fceeD3\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xb6D2f38b9015F32ccE8818509c712264E7fceeD3\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDT", + "token_a": "cWEURC", + "token_b": "cWUSDT", + "token_a_address": "0xb6D2f38b9015F32ccE8818509c712264E7fceeD3", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_42220_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xb6D2f38b9015F32ccE8818509c712264E7fceeD3\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xb6D2f38b9015F32ccE8818509c712264E7fceeD3\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_42220_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_42220_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDC", + "token_a": "cWGBPC", + "token_b": "cWUSDC", + "token_a_address": "0xE37c332a88f112F9e039C5d92D821402A89c7052", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_42220_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xE37c332a88f112F9e039C5d92D821402A89c7052\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xE37c332a88f112F9e039C5d92D821402A89c7052\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDT", + "token_a": "cWGBPC", + "token_b": "cWUSDT", + "token_a_address": "0xE37c332a88f112F9e039C5d92D821402A89c7052", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_42220_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xE37c332a88f112F9e039C5d92D821402A89c7052\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xE37c332a88f112F9e039C5d92D821402A89c7052\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_42220_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_42220_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_42220_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_42220_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWUSDW/cWUSDC", + "token_a": "cWUSDW", + "token_b": "cWUSDC", + "token_a_address": "0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_42220_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWUSDW_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWUSDW/cWUSDT", + "token_a": "cWUSDW", + "token_b": "cWUSDT", + "token_a_address": "0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_42220_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWUSDW_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0x61D642979eD75c1325f35b9275C5A7FE97F22451", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_42220_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0x61D642979eD75c1325f35b9275C5A7FE97F22451", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_42220_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0x30751782486eed825187C1EAe5DE4b4baD428AaE", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_42220_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0x30751782486eed825187C1EAe5DE4b4baD428AaE", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_42220_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_42220_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_42220_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "tier": "tier_2", + "phase_1_core_rail": "cWUSDT/cWUSDC", + "phase_2_pair_count": 24, + "phase_2_other_gru_v2_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "rpc_env_keys": [ + "AVALANCHE_RPC_URL", + "AVALANCHE_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_43114_UNISWAP_V2_FACTORY", + "CHAIN_43114_UNISWAP_V2_ROUTER", + "CHAIN_43114_UNISWAP_V2_START_BLOCK" + ], + "phase_2_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "token_a": "cWAUDC", + "token_b": "cWUSDC", + "token_a_address": "0x04e1e22b0d41e99f4275bd40a50480219bc9a223", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_43114_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWAUDC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x04e1e22b0d41e99f4275bd40a50480219bc9a223\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x04e1e22b0d41e99f4275bd40a50480219bc9a223\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWAUDC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWAUDC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUDC/cWUSDT", + "token_a": "cWAUDC", + "token_b": "cWUSDT", + "token_a_address": "0x04e1e22b0d41e99f4275bd40a50480219bc9a223", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_43114_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWAUDC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x04e1e22b0d41e99f4275bd40a50480219bc9a223\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x04e1e22b0d41e99f4275bd40a50480219bc9a223\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWAUDC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWAUDC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c00000000000000000000000000000000a86a", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_43114_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c00000000000000000000000000000000a86a", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_43114_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0x1872e033b30f3ce0498847926857433e0146394e", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_43114_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0x1872e033b30f3ce0498847926857433e0146394e", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_43114_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0xc2fa05f12a75ac84ea778af9d6935ca807275e55", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_43114_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0xc2fa05f12a75ac84ea778af9d6935ca807275e55", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_43114_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDC", + "token_a": "cWEURC", + "token_b": "cWUSDC", + "token_a_address": "0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_43114_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWEURC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURC/cWUSDT", + "token_a": "cWEURC", + "token_b": "cWUSDT", + "token_a_address": "0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_43114_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWEURC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_43114_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_43114_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDC", + "token_a": "cWGBPC", + "token_b": "cWUSDC", + "token_a_address": "0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_43114_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWGBPC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPC/cWUSDT", + "token_a": "cWGBPC", + "token_b": "cWUSDT", + "token_a_address": "0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_43114_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWGBPC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x4611d3424e059392a52b957e508273bc761c80f2", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_43114_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x4611d3424e059392a52b957e508273bc761c80f2", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_43114_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x3714b1a312e0916c7dcdc4edf480fc0339e59a59", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_43114_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x3714b1a312e0916c7dcdc4edf480fc0339e59a59", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_43114_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWUSDW/cWUSDC", + "token_a": "cWUSDW", + "token_b": "cWUSDC", + "token_a_address": "0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_43114_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWUSDW_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWUSDW/cWUSDT", + "token_a": "cWUSDW", + "token_b": "cWUSDT", + "token_a_address": "0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_43114_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWUSDW_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0x4f95297c23d9f4a1032b1c6a2e553225cb175bee", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_43114_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0x4f95297c23d9f4a1032b1c6a2e553225cb175bee", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_43114_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_43114_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_43114_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_43114_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_43114_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase-order-latest.json", + "cross-chain-pmm-lps/config/deployment-status.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase2-shell-paste-pack-latest.json b/reports/extraction/promod-uniswap-v2-phase2-shell-paste-pack-latest.json new file mode 100644 index 00000000..083c0827 --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase2-shell-paste-pack-latest.json @@ -0,0 +1,1592 @@ +{ + "generated_at": "2026-04-17T20:11:49Z", + "program_name": "Mr. Promod Uniswap V2 phase 2 shell paste pack", + "purpose": "Pure shell-only paste pack for every phase-2 wrapped-mesh pair in sequence.", + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_1_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWAUDC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_1_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWAUDC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_1_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_1_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_1_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_1_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_1_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_1_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_1_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWEURC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_1_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWEURC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_1_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_1_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_1_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWGBPC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_1_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWGBPC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_1_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_1_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_1_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_1_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_1_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_1_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_1_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_1_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_1_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_1_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_10_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWAUDC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_10_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWAUDC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_10_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_10_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_10_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_10_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_10_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_10_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_10_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWEURC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_10_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWEURC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_10_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_10_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_10_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWGBPC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_10_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWGBPC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_10_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_10_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_10_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_10_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_10_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_10_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_10_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_10_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_10_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_10_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_25_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWAUDC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_25_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWAUDC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_25_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_25_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_25_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_25_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_25_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_25_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_25_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWEURC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_25_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWEURC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_25_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_25_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_25_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWGBPC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_25_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWGBPC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_25_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_25_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_25_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_25_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_25_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_25_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_25_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_25_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_25_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_25_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_56_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWAUDC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_56_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWAUDC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_56_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_56_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_56_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_56_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_56_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_56_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_56_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWEURC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_56_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWEURC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_56_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_56_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_56_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWGBPC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_56_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWGBPC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_56_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_56_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_56_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_56_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWUSDW/cWUSDC", + "amount_env_a": "PHASE2_56_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWUSDW_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWUSDW/cWUSDT", + "amount_env_a": "PHASE2_56_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWUSDW_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_56_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_56_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_56_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_56_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_56_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_56_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_100_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWAUDC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_100_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWAUDC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_100_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_100_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_100_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_100_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_100_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_100_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_100_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWEURC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_100_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWEURC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_100_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_100_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_100_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWGBPC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_100_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWGBPC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_100_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_100_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_100_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_100_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_100_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_100_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_100_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_100_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_100_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_100_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_137_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWAUDC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_137_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWAUDC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_137_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_137_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_137_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_137_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_137_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_137_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_137_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWEURC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_137_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWEURC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_137_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_137_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_137_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWGBPC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_137_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWGBPC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_137_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_137_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_137_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_137_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_137_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_137_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_137_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_137_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_137_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_137_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWAUDC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWAUDC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWEURC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWEURC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_8453_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_8453_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWGBPC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWGBPC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_8453_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_8453_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_8453_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_8453_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_8453_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_8453_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_8453_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_8453_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWAUDC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWAUDC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWEURC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWEURC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_42161_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_42161_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWGBPC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWGBPC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_42161_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_42161_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_42161_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_42161_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_42161_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42161_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_42161_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42161_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWAUDC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWAUDC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWEURC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWEURC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_42220_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_42220_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWGBPC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWGBPC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_42220_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_42220_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWUSDW/cWUSDC", + "amount_env_a": "PHASE2_42220_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWUSDW_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWUSDW/cWUSDT", + "amount_env_a": "PHASE2_42220_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWUSDW_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_42220_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_42220_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_42220_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_42220_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_42220_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_42220_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWAUDC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWAUDC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWAUDC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWAUDC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWAUDC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWAUDC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWEURC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWEURC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWEURC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWEURC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_43114_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_43114_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWGBPC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWGBPC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWGBPC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWGBPC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_43114_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_43114_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWUSDW/cWUSDC", + "amount_env_a": "PHASE2_43114_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWUSDW_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWUSDW/cWUSDT", + "amount_env_a": "PHASE2_43114_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWUSDW_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_43114_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_43114_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_43114_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_43114_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_43114_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_43114_CWXAUT_CWUSDT_B_RAW" + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase2-operator-sequence-latest.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase2-wave1-completion-status-latest.json b/reports/extraction/promod-uniswap-v2-phase2-wave1-completion-status-latest.json new file mode 100644 index 00000000..9573b0c5 --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase2-wave1-completion-status-latest.json @@ -0,0 +1,461 @@ +{ + "generated_at": "2026-04-18T02:30:39.167860+00:00", + "program_name": "promod-uniswap-v2-phase2-wave1-completion-status", + "overall_status": "complete", + "completed_chain_ids": [ + 1, + 10, + 25, + 56, + 100, + 137, + 8453, + 42161, + 42220, + 43114 + ], + "verification_status": { + "status": "blocked", + "summary": "Deployment and liquidity rollout is complete, but explorer publication is not fully complete.", + "blockers": [ + "Current local CompliantWrappedToken artifact does not exactly match deployed runtime bytecode.", + "forge verify-contract cannot use the historical deploy profile directly in this environment.", + "Some explorer backends require paid API access or manual submission paths." + ] + }, + "chains": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "status": "complete", + "wave1_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "pair_address": "0x135812ec5E714De8400B47856A8210eE9c4B19bb", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776459491 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWAUDC/cWUSDT", + "pair_address": "0xaC36C0De0A6E94fa21718217c9eccEa4dC2680cF", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776459503 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDC", + "pair_address": "0xaF10c00226DD1Bb28d7e93C21c904B7072b8076D", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776459899 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDT", + "pair_address": "0x58a68B0c4Fc090d63014eA9E1D9D291377EE15Ce", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776459911 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDC", + "pair_address": "0x43fc09d5d619D43DFE764F39B193900D54992718", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776459923 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDT", + "pair_address": "0x122781a70764f958D231ea06E3EA3F4F2a324Da9", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776459935 [1.776e9])", + "status": "complete" + } + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "status": "complete", + "wave1_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "pair_address": "0xdf58b085EE6Db9Cc0569e8f7FF21877b44645eA8", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776460061 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWAUDC/cWUSDT", + "pair_address": "0xe3093934531459110c37f728C7f4e8557236A677", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776460065 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDC", + "pair_address": "0x8324cDEcE2618FA2b94469165353829819Caaf19", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776460067 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDT", + "pair_address": "0x255BC955CBD24528B83Ce971641A80b75389Fc65", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776460071 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDC", + "pair_address": "0x16BdD425Be56080b670925AF880bAC599C9346ca", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776460073 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDT", + "pair_address": "0x3052541a82d02348Bbe7f9Ce1927992ADb9Bd259", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776460077 [1.776e9])", + "status": "complete" + } + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "status": "complete", + "wave1_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "pair_address": "0xef0Dd59421024053102b9A29A71D07d4838ef0a5", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776477932 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWAUDC/cWUSDT", + "pair_address": "0x480f7Cf816AEBD62EC60A738635FD6363e004709", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776477936 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDC", + "pair_address": "0x55dF42030A9780F51E3f479Ae28E63ee9049627a", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776477974 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDT", + "pair_address": "0xC3A19A41096265A4137F8346aAcFd5d26568cb97", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776477978 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDC", + "pair_address": "0x673dFF7d10DbF2Cd6e1F495e53a6AeDb291Df1a7", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776477981 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDT", + "pair_address": "0xf6314aCBAaC3EE2F8CCc48C8Ca00525824a35C26", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776477984 [1.776e9])", + "status": "complete" + } + ] + }, + { + "chain_id": 56, + "network": "BSC", + "status": "complete", + "wave1_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "pair_address": "0x03B5b4bDb04A7D94A8d5D170fE84772756DB912F", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478046 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWAUDC/cWUSDT", + "pair_address": "0x8FA9f96f6E5785ea98A51C97E3d1A05AaafB406e", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478049 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDC", + "pair_address": "0xa07b120e21bc80333AF35C951150a5F983cf12D9", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478052 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDT", + "pair_address": "0xBA9a873BC6cA8885E7E0975247B304cFed2f01E6", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478055 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDC", + "pair_address": "0x43447275C56be6fd30e74cF3368CFDE561fC2fe7", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478116 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDT", + "pair_address": "0xd8ac668D812dC7bB86ea66f8e86824a575bf0ed0", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478093 [1.776e9])", + "status": "complete" + } + ] + }, + { + "chain_id": 100, + "network": "Gnosis", + "status": "complete", + "wave1_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "pair_address": "0x65C533F4520816e91303747aFAED84B5B58154d5", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776457100 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWAUDC/cWUSDT", + "pair_address": "0x41078C1DB4Ed26ecF19142feBaA9dCdE0b04e210", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776457105 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDC", + "pair_address": "0xFcf9feEF2bcF708cE2193fE8Ee33dA205610480D", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776457110 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDT", + "pair_address": "0x24B9F12D143d16DdFC6D4eA135b8aC08009367a1", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776457115 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDC", + "pair_address": "0x86ee10F889dBAA74b640cFD318A07787DBDaaC9b", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776457120 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDT", + "pair_address": "0x67f36f25Af15910B5bAE08B1b9B6273158E8eA77", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776457125 [1.776e9])", + "status": "complete" + } + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "status": "complete", + "wave1_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "pair_address": "0x6ffa939d75bd6affe019705f2c9240f97975ffa0", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776460210 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWAUDC/cWUSDT", + "pair_address": "0x526a3a38b77d199e8fd07f37597f9ca0fa5a87cd", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776460214 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDC", + "pair_address": "0xd5907a692f7e8f650fc5feb8ebb3196fea2069a3", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776460220 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDT", + "pair_address": "0x3292c0ed9eec0443635367717047876fe3cdb514", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776460224 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDC", + "pair_address": "0x52786e752be5fb1b18e86959f87b7a59e2c6de6d", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776460228 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDT", + "pair_address": "0x1b6e8484db0cd9c00d39e457c2d126c8983f5390", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776460232 [1.776e9])", + "status": "complete" + } + ] + }, + { + "chain_id": 8453, + "network": "Base", + "status": "complete", + "wave1_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "pair_address": "0x8e0C0Fa5F7227799bf0cFc9E4129f2c9133230f6", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478205 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWAUDC/cWUSDT", + "pair_address": "0xB191eC6D99CeA5aAf557193224b32453F27BBB9f", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478249 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDC", + "pair_address": "0x71C979435fDdF15EaF84df4C5191e1b285387758", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478207 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDT", + "pair_address": "0x56b54646C559569060435EAC2C3c70346Fa7D849", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478253 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDC", + "pair_address": "0x9b40B0a5EEC3B510d3CdeAe186F9ed27A22BF88a", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478187 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDT", + "pair_address": "0xe5Cf1c4d333992D5a4ceed65d83123398D78594c", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478209 [1.776e9])", + "status": "complete" + } + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "status": "complete", + "wave1_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "pair_address": "0x51fB15df509a8F1dA3813CA810c1d667DeC119f6", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478295 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWAUDC/cWUSDT", + "pair_address": "0x2Bfd8A45852Bd81cd787a4081A6528b00cf00A79", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478296 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDC", + "pair_address": "0x443FC120dB180265cF36A30f6eAbB7459106e570", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478298 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDT", + "pair_address": "0xd55ECf3eB5680351e0f78bB305E67BFb4875B966", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478299 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDC", + "pair_address": "0x907a97eAD9B490208fCB1d43ddB8C2D1015581dC", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478300 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDT", + "pair_address": "0x65dF46603cDCd5862Caf5935DE5ee44B3756B749", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478301 [1.776e9])", + "status": "complete" + } + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "status": "complete", + "wave1_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "pair_address": "0x2d9D8e2E0642C01B600BA9F953ca5D49abFC391E", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478385 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWAUDC/cWUSDT", + "pair_address": "0x4a1ED0471f1832264A704D0998703d1da3E6cb84", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478388 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDC", + "pair_address": "0xFF0bFD8A374Eb1Ec24F27500a76104Ae3B463D80", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478392 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDT", + "pair_address": "0xF93EBA21A0672835415f873e119789Ff27A21ebF", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478395 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDC", + "pair_address": "0xb3dDd766CE76d07435B197E0857ea80661d20Ed7", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478399 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDT", + "pair_address": "0xc6187BEfbC1b8cC827049AC4a5Cb05BC023c48De", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478402 [1.776e9])", + "status": "complete" + } + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "status": "complete", + "wave1_pairs": [ + { + "pair": "cWAUDC/cWUSDC", + "pair_address": "0xc3d2eAE75b859c151825A49481187885c6c4C424", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478469 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWAUDC/cWUSDT", + "pair_address": "0x971881b0BCd3ec4C051f8316e22Ad31E8Af291C4", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478472 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDC", + "pair_address": "0x640e566c107Ca4f6A10a2bD37E919aD011e7627e", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478475 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWEURC/cWUSDT", + "pair_address": "0x633A3686a5b99E04C0363aA9233a2FD83554589c", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478477 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDC", + "pair_address": "0x94090e498dC3cdA064039fe26Ede0dB19e6a1EC3", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478480 [1.776e9])", + "status": "complete" + }, + { + "pair": "cWGBPC/cWUSDT", + "pair_address": "0xF9A545fF323fbe8c78c21BDeA191D187854F8Ed1", + "reserves": "(1000000000 [1e9], 1000000000 [1e9], 1776478483 [1.776e9])", + "status": "complete" + } + ] + } + ], + "source_artifacts": { + "phase2_operator_sequence": "reports/extraction/promod-uniswap-v2-phase2-operator-sequence-latest.json" + } +} diff --git a/reports/extraction/promod-uniswap-v2-phase2-wave2-operator-paste-pack-latest.json b/reports/extraction/promod-uniswap-v2-phase2-wave2-operator-paste-pack-latest.json new file mode 100644 index 00000000..2ecb0872 --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase2-wave2-operator-paste-pack-latest.json @@ -0,0 +1,2794 @@ +{ + "generated_at": "2026-04-18T11:56:50Z", + "program_name": "Mr. Promod Uniswap V2 phase 2 wave 2 operator paste pack", + "purpose": "Flat paste-ready operator pack for every phase-2 wave-2 cW* wrapped-mesh pair in execution order.", + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWAUSDT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe1a51Bc037a79AB36767561B147eb41780124934\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe1a51Bc037a79AB36767561B147eb41780124934\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWAUSDT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe1a51Bc037a79AB36767561B147eb41780124934\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe1a51Bc037a79AB36767561B147eb41780124934\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWUSDW/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWUSDW/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWAUSDT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf12e262F85107df26741726b074606CaFa24AAe7\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf12e262F85107df26741726b074606CaFa24AAe7\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWAUSDT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf12e262F85107df26741726b074606CaFa24AAe7\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf12e262F85107df26741726b074606CaFa24AAe7\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWAUSDT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC158b6cD3A3088C52F797D41f5Aa02825361629e\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC158b6cD3A3088C52F797D41f5Aa02825361629e\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWAUSDT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC158b6cD3A3088C52F797D41f5Aa02825361629e\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC158b6cD3A3088C52F797D41f5Aa02825361629e\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWUSDW/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWUSDW/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWAUSDT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWAUSDT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWUSDW/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWUSDW/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"", + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase2-wave2-operator-sequence-latest.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase2-wave2-operator-sequence-latest.json b/reports/extraction/promod-uniswap-v2-phase2-wave2-operator-sequence-latest.json new file mode 100644 index 00000000..ce6d0776 --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase2-wave2-operator-sequence-latest.json @@ -0,0 +1,2438 @@ +{ + "generated_at": "2026-04-18T11:55:19Z", + "program_name": "promod-uniswap-v2-phase2-wave2-operator-sequence", + "purpose": "Exact phase-2 wave-2 operator sequence for the remaining GRU v2 cW* wrapped mesh assets after wave 1, using per-pair amount envs and current live gap state.", + "total_wave2_pair_count": 174, + "source_artifacts": [ + "reports/extraction/promod-gru-v2-full-mesh-gap-report-latest.json", + "cross-chain-pmm-lps/config/deployment-status.json" + ], + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "bridge_available": true, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wave2_pair_count": 16, + "rpc_env_keys": [ + "ETHEREUM_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_1_UNISWAP_V2_FACTORY", + "CHAIN_1_UNISWAP_V2_ROUTER", + "CHAIN_1_UNISWAP_V2_START_BLOCK" + ], + "wave2_pairs": [ + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c000000000000000000000000000000000001", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c000000000000000000000000000000000001", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000001\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0x0F91C5E6Ddd46403746aAC970D05d70FFe404780", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0x0F91C5E6Ddd46403746aAC970D05d70FFe404780", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0F91C5E6Ddd46403746aAC970D05d70FFe404780\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x07EEd0D7dD40984e47B9D3a3bdded1c536435582", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x07EEd0D7dD40984e47B9D3a3bdded1c536435582", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x07EEd0D7dD40984e47B9D3a3bdded1c536435582\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0x572Be0fa8CA0534d642A567CEDb398B771D8a715", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0x572Be0fa8CA0534d642A567CEDb398B771D8a715", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x572Be0fa8CA0534d642A567CEDb398B771D8a715\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0xACE1DBF857549a11aF1322e1f91F2F64b029c906", + "token_b_address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "amount_env_a": "PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0xACE1DBF857549a11aF1322e1f91F2F64b029c906", + "token_b_address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "amount_env_a": "PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ETHEREUM_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_1_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_1_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xACE1DBF857549a11aF1322e1f91F2F64b029c906\"\nexport TOKEN_B=\"0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "bridge_available": true, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wave2_pair_count": 16, + "rpc_env_keys": [ + "OPTIMISM_RPC_URL", + "OPTIMISM_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_10_UNISWAP_V2_FACTORY", + "CHAIN_10_UNISWAP_V2_ROUTER", + "CHAIN_10_UNISWAP_V2_START_BLOCK" + ], + "wave2_pairs": [ + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c00000000000000000000000000000000000a", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c00000000000000000000000000000000000a", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000000a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0x9f6d2578003fe04e58a9819a4943732f2a203a61", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0x9f6d2578003fe04e58a9819a4943732f2a203a61", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x6f521cd9fcf7884cd4e9486c7790e818638e09dd", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x6f521cd9fcf7884cd4e9486c7790e818638e09dd", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x6f521cd9fcf7884cd4e9486c7790e818638e09dd\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x456373d095d6b9260f01709f93fccf1d8aa14d11", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x456373d095d6b9260f01709f93fccf1d8aa14d11", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x456373d095d6b9260f01709f93fccf1d8aa14d11\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0xddc4063f770f7c49d00b5a10fb552e922aa39b2c", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0xddc4063f770f7c49d00b5a10fb552e922aa39b2c", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xddc4063f770f7c49d00b5a10fb552e922aa39b2c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0x145e8e8c49b6a021969dd9d2c01c8fea44374f61", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0x145e8e8c49b6a021969dd9d2c01c8fea44374f61", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${OPTIMISM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_10_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_10_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "bridge_available": true, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wave2_pair_count": 16, + "rpc_env_keys": [ + "CRONOS_RPC_URL", + "CRONOS_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_25_UNISWAP_V2_FACTORY", + "CHAIN_25_UNISWAP_V2_ROUTER", + "CHAIN_25_UNISWAP_V2_START_BLOCK" + ], + "wave2_pairs": [ + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c000000000000000000000000000000000019", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c000000000000000000000000000000000019", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000019\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0x32aD687F24F77bF8C86605c202c829163Ac5Ab36", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0x32aD687F24F77bF8C86605c202c829163Ac5Ab36", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x32aD687F24F77bF8C86605c202c829163Ac5Ab36\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0xB55F49D6316322d5caA96D34C6e4b1003BD3E670", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0xB55F49D6316322d5caA96D34C6e4b1003BD3E670", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xB55F49D6316322d5caA96D34C6e4b1003BD3E670\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x9f833b4f1012F52eb3317b09922a79c6EdFca77D", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x9f833b4f1012F52eb3317b09922a79c6EdFca77D", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f833b4f1012F52eb3317b09922a79c6EdFca77D\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0xBb58fa16bAc8E789f09C14243adEE6480D8213A2", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0xBb58fa16bAc8E789f09C14243adEE6480D8213A2", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBb58fa16bAc8E789f09C14243adEE6480D8213A2\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf1B771c95573113E993374c0c7cB2dc1a7908B12\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE", + "token_b_address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "amount_env_a": "PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE", + "token_b_address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", + "amount_env_a": "PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CRONOS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_25_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_25_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE\"\nexport TOKEN_B=\"0x72948a7a813B60b37Cd0c920C4657DbFF54312b8\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "bridge_available": true, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "wave2_pair_count": 20, + "rpc_env_keys": [ + "BSC_RPC_URL", + "BSC_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_56_UNISWAP_V2_FACTORY", + "CHAIN_56_UNISWAP_V2_ROUTER", + "CHAIN_56_UNISWAP_V2_START_BLOCK" + ], + "wave2_pairs": [ + { + "pair": "cWAUSDT/cWUSDC", + "token_a": "cWAUSDT", + "token_b": "cWUSDC", + "token_a_address": "0xe1a51Bc037a79AB36767561B147eb41780124934", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe1a51Bc037a79AB36767561B147eb41780124934\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe1a51Bc037a79AB36767561B147eb41780124934\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUSDT/cWUSDT", + "token_a": "cWAUSDT", + "token_b": "cWUSDT", + "token_a_address": "0xe1a51Bc037a79AB36767561B147eb41780124934", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe1a51Bc037a79AB36767561B147eb41780124934\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xe1a51Bc037a79AB36767561B147eb41780124934\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c000000000000000000000000000000000038", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c000000000000000000000000000000000038", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000038\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0x9AE7a6B311584D60Fa93f973950d609061875775", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0x9AE7a6B311584D60Fa93f973950d609061875775", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9AE7a6B311584D60Fa93f973950d609061875775\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWUSDW/cWUSDC", + "token_a": "cWUSDW", + "token_b": "cWUSDC", + "token_a_address": "0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWUSDW/cWUSDT", + "token_a": "cWUSDW", + "token_b": "cWUSDT", + "token_a_address": "0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0xCB145bA9A370681e3545F60e55621eBf218B1031", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0xCB145bA9A370681e3545F60e55621eBf218B1031", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xCB145bA9A370681e3545F60e55621eBf218B1031\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0x73E0CF8BF861D376B3a4C87c136F975027f045ff", + "token_b_address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b", + "amount_env_a": "PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x5355148C4740fcc3D7a96F05EdD89AB14851206b\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0x73E0CF8BF861D376B3a4C87c136F975027f045ff", + "token_b_address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB", + "amount_env_a": "PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BSC_RPC_URL}\"\nexport FACTORY=\"${CHAIN_56_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_56_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73E0CF8BF861D376B3a4C87c136F975027f045ff\"\nexport TOKEN_B=\"0x9a1D0dBEE997929ED02fD19E0E199704d20914dB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "bridge_available": true, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wave2_pair_count": 16, + "rpc_env_keys": [ + "GNOSIS_RPC_URL", + "GNOSIS_MAINNET_RPC", + "GNOSIS_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_100_UNISWAP_V2_FACTORY", + "CHAIN_100_UNISWAP_V2_ROUTER", + "CHAIN_100_UNISWAP_V2_START_BLOCK" + ], + "wave2_pairs": [ + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c000000000000000000000000000000000064", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c000000000000000000000000000000000064", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000064\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0xa7133c78e0ec74503a5941bcbd44257615b6b4f6", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0xa7133c78e0ec74503a5941bcbd44257615b6b4f6", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7133c78e0ec74503a5941bcbd44257615b6b4f6\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0x46d90d7947f1139477c206c39268923b99cf09e4", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0x46d90d7947f1139477c206c39268923b99cf09e4", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x46d90d7947f1139477c206c39268923b99cf09e4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x9f6d2578003fe04e58a9819a4943732f2a203a61", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x9f6d2578003fe04e58a9819a4943732f2a203a61", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9f6d2578003fe04e58a9819a4943732f2a203a61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x145e8e8c49b6a021969dd9d2c01c8fea44374f61", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x145e8e8c49b6a021969dd9d2c01c8fea44374f61", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x145e8e8c49b6a021969dd9d2c01c8fea44374f61\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0xc6189d404dc60cae7b48e2190e44770a03193e5f", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0xc6189d404dc60cae7b48e2190e44770a03193e5f", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${GNOSIS_RPC_URL}\"\nexport FACTORY=\"${CHAIN_100_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_100_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc6189d404dc60cae7b48e2190e44770a03193e5f\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "bridge_available": true, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wave2_pair_count": 18, + "rpc_env_keys": [ + "POLYGON_MAINNET_RPC", + "POLYGON_RPC_URL" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_137_UNISWAP_V2_FACTORY", + "CHAIN_137_UNISWAP_V2_ROUTER", + "CHAIN_137_UNISWAP_V2_START_BLOCK" + ], + "wave2_pairs": [ + { + "pair": "cWAUSDT/cWUSDC", + "token_a": "cWAUSDT", + "token_b": "cWUSDC", + "token_a_address": "0xf12e262F85107df26741726b074606CaFa24AAe7", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf12e262F85107df26741726b074606CaFa24AAe7\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf12e262F85107df26741726b074606CaFa24AAe7\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUSDT/cWUSDT", + "token_a": "cWAUSDT", + "token_b": "cWUSDT", + "token_a_address": "0xf12e262F85107df26741726b074606CaFa24AAe7", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf12e262F85107df26741726b074606CaFa24AAe7\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf12e262F85107df26741726b074606CaFa24AAe7\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c000000000000000000000000000000000089", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c000000000000000000000000000000000089", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000000089\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0xc9750828124D4c10e7a6f4B655cA8487bD3842EB", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0xc9750828124D4c10e7a6f4B655cA8487bD3842EB", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc9750828124D4c10e7a6f4B655cA8487bD3842EB\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0x328Cd365Bb35524297E68ED28c6fF2C9557d1363", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0x328Cd365Bb35524297E68ED28c6fF2C9557d1363", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x328Cd365Bb35524297E68ED28c6fF2C9557d1363\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "token_b_address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", + "amount_env_a": "PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${POLYGON_MAINNET_RPC}\"\nexport FACTORY=\"${CHAIN_137_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_137_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x9e6044d730d4183bF7a666293d257d035Fba6d44\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 8453, + "network": "Base", + "bridge_available": true, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wave2_pair_count": 16, + "rpc_env_keys": [ + "BASE_RPC_URL", + "BASE_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_8453_UNISWAP_V2_FACTORY", + "CHAIN_8453_UNISWAP_V2_ROUTER", + "CHAIN_8453_UNISWAP_V2_START_BLOCK" + ], + "wave2_pairs": [ + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c000000000000000000000000000000002105", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c000000000000000000000000000000002105", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c000000000000000000000000000000002105\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0xdc383c489533a4dd9a6bd3007386e25d5078b878", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0xdc383c489533a4dd9a6bd3007386e25d5078b878", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0xc1535e88578d984f12eab55863376b8d8b9fb05a", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0xc1535e88578d984f12eab55863376b8d8b9fb05a", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc1535e88578d984f12eab55863376b8d8b9fb05a\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x73e0cf8bf861d376b3a4c87c136f975027f045ff", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x73e0cf8bf861d376b3a4c87c136f975027f045ff", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x73e0cf8bf861d376b3a4c87c136f975027f045ff\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x29828e9ab2057cd3df3c9211455ae1f76e53d2af", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x29828e9ab2057cd3df3c9211455ae1f76e53d2af", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0x7e4b4682453bcce19ec903fb69153d3031986bc4", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0x7e4b4682453bcce19ec903fb69153d3031986bc4", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c", + "token_b_address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", + "amount_env_a": "PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c", + "token_b_address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", + "amount_env_a": "PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${BASE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_8453_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_8453_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "bridge_available": true, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWXAUC", + "cWXAUT" + ], + "wave2_pair_count": 16, + "rpc_env_keys": [ + "ARBITRUM_RPC_URL", + "ARBITRUM_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_42161_UNISWAP_V2_FACTORY", + "CHAIN_42161_UNISWAP_V2_ROUTER", + "CHAIN_42161_UNISWAP_V2_START_BLOCK" + ], + "wave2_pairs": [ + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c00000000000000000000000000000000a4b1", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c00000000000000000000000000000000a4b1", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4b1\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0x7e4b4682453bcce19ec903fb69153d3031986bc4", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0x7e4b4682453bcce19ec903fb69153d3031986bc4", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e4b4682453bcce19ec903fb69153d3031986bc4\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x22b98130ab4d9c355512b25ade4c35e75a4e7e89\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x29828e9ab2057cd3df3c9211455ae1f76e53d2af", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x29828e9ab2057cd3df3c9211455ae1f76e53d2af", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x29828e9ab2057cd3df3c9211455ae1f76e53d2af\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0xdc383c489533a4dd9a6bd3007386e25d5078b878", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0xdc383c489533a4dd9a6bd3007386e25d5078b878", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xdc383c489533a4dd9a6bd3007386e25d5078b878\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0xa7762b63c4871581885ad17c5714ebb286a7480b", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0xa7762b63c4871581885ad17c5714ebb286a7480b", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xa7762b63c4871581885ad17c5714ebb286a7480b\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0x66568899ffe8f00b25dc470e878b65a478994e76", + "token_b_address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "amount_env_a": "PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0x66568899ffe8f00b25dc470e878b65a478994e76", + "token_b_address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "amount_env_a": "PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${ARBITRUM_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42161_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42161_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x66568899ffe8f00b25dc470e878b65a478994e76\"\nexport TOKEN_B=\"0x73ADaF7dBa95221c080db5631466d2bC54f6a76B\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "bridge_available": true, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "wave2_pair_count": 20, + "rpc_env_keys": [ + "CELO_RPC_URL", + "CELO_MAINNET_RPC", + "CELO_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_42220_UNISWAP_V2_FACTORY", + "CHAIN_42220_UNISWAP_V2_ROUTER", + "CHAIN_42220_UNISWAP_V2_START_BLOCK" + ], + "wave2_pairs": [ + { + "pair": "cWAUSDT/cWUSDC", + "token_a": "cWAUSDT", + "token_b": "cWUSDC", + "token_a_address": "0xC158b6cD3A3088C52F797D41f5Aa02825361629e", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC158b6cD3A3088C52F797D41f5Aa02825361629e\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC158b6cD3A3088C52F797D41f5Aa02825361629e\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUSDT/cWUSDT", + "token_a": "cWAUSDT", + "token_b": "cWUSDT", + "token_a_address": "0xC158b6cD3A3088C52F797D41f5Aa02825361629e", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC158b6cD3A3088C52F797D41f5Aa02825361629e\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xC158b6cD3A3088C52F797D41f5Aa02825361629e\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c00000000000000000000000000000000a4ec", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c00000000000000000000000000000000a4ec", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a4ec\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWUSDW/cWUSDC", + "token_a": "cWUSDW", + "token_b": "cWUSDC", + "token_a_address": "0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWUSDW/cWUSDT", + "token_a": "cWUSDW", + "token_b": "cWUSDT", + "token_a_address": "0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0x61D642979eD75c1325f35b9275C5A7FE97F22451", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0x61D642979eD75c1325f35b9275C5A7FE97F22451", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x61D642979eD75c1325f35b9275C5A7FE97F22451\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0x30751782486eed825187C1EAe5DE4b4baD428AaE", + "token_b_address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "amount_env_a": "PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0x30751782486eed825187C1EAe5DE4b4baD428AaE", + "token_b_address": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "amount_env_a": "PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${CELO_RPC_URL}\"\nexport FACTORY=\"${CHAIN_42220_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_42220_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x30751782486eed825187C1EAe5DE4b4baD428AaE\"\nexport TOKEN_B=\"0x73376eB92c16977B126dB9112936A20Fa0De3442\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "bridge_available": true, + "remaining_wrapped_mesh_assets_after_wave1": [ + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURT", + "cWGBPT", + "cWJPYC", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "wave2_pair_count": 20, + "rpc_env_keys": [ + "AVALANCHE_RPC_URL", + "AVALANCHE_MAINNET_RPC" + ], + "required_uniswap_v2_env_vars": [ + "CHAIN_43114_UNISWAP_V2_FACTORY", + "CHAIN_43114_UNISWAP_V2_ROUTER", + "CHAIN_43114_UNISWAP_V2_START_BLOCK" + ], + "wave2_pairs": [ + { + "pair": "cWAUSDT/cWUSDC", + "token_a": "cWAUSDT", + "token_b": "cWUSDC", + "token_a_address": "0xff3084410A732231472Ee9f93F5855dA89CC5254", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWAUSDT/cWUSDT", + "token_a": "cWAUSDT", + "token_b": "cWUSDT", + "token_a_address": "0xff3084410A732231472Ee9f93F5855dA89CC5254", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xff3084410A732231472Ee9f93F5855dA89CC5254\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDC", + "token_a": "cWBTC", + "token_b": "cWUSDC", + "token_a_address": "0xcb7c00000000000000000000000000000000a86a", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWBTC/cWUSDT", + "token_a": "cWBTC", + "token_b": "cWUSDT", + "token_a_address": "0xcb7c00000000000000000000000000000000a86a", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcb7c00000000000000000000000000000000a86a\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDC", + "token_a": "cWCADC", + "token_b": "cWUSDC", + "token_a_address": "0x1872e033b30f3ce0498847926857433e0146394e", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCADC/cWUSDT", + "token_a": "cWCADC", + "token_b": "cWUSDT", + "token_a_address": "0x1872e033b30f3ce0498847926857433e0146394e", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x1872e033b30f3ce0498847926857433e0146394e\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDC", + "token_a": "cWCHFC", + "token_b": "cWUSDC", + "token_a_address": "0xc2fa05f12a75ac84ea778af9d6935ca807275e55", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWCHFC/cWUSDT", + "token_a": "cWCHFC", + "token_b": "cWUSDT", + "token_a_address": "0xc2fa05f12a75ac84ea778af9d6935ca807275e55", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xc2fa05f12a75ac84ea778af9d6935ca807275e55\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDC", + "token_a": "cWEURT", + "token_b": "cWUSDC", + "token_a_address": "0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWEURT/cWUSDT", + "token_a": "cWEURT", + "token_b": "cWUSDT", + "token_a_address": "0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDC", + "token_a": "cWGBPT", + "token_b": "cWUSDC", + "token_a_address": "0x4611d3424e059392a52b957e508273bc761c80f2", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWGBPT/cWUSDT", + "token_a": "cWGBPT", + "token_b": "cWUSDT", + "token_a_address": "0x4611d3424e059392a52b957e508273bc761c80f2", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4611d3424e059392a52b957e508273bc761c80f2\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDC", + "token_a": "cWJPYC", + "token_b": "cWUSDC", + "token_a_address": "0x3714b1a312e0916c7dcdc4edf480fc0339e59a59", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWJPYC/cWUSDT", + "token_a": "cWJPYC", + "token_b": "cWUSDT", + "token_a_address": "0x3714b1a312e0916c7dcdc4edf480fc0339e59a59", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x3714b1a312e0916c7dcdc4edf480fc0339e59a59\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWUSDW/cWUSDC", + "token_a": "cWUSDW", + "token_b": "cWUSDC", + "token_a_address": "0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWUSDW/cWUSDT", + "token_a": "cWUSDW", + "token_b": "cWUSDT", + "token_a_address": "0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDC", + "token_a": "cWXAUC", + "token_b": "cWUSDC", + "token_a_address": "0x4f95297c23d9f4a1032b1c6a2e553225cb175bee", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUC/cWUSDT", + "token_a": "cWXAUC", + "token_b": "cWUSDT", + "token_a_address": "0x4f95297c23d9f4a1032b1c6a2e553225cb175bee", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0x4f95297c23d9f4a1032b1c6a2e553225cb175bee\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDC", + "token_a": "cWXAUT", + "token_b": "cWUSDC", + "token_a_address": "0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3", + "token_b_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "amount_env_a": "PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x0C242b513008Cd49C89078F5aFb237A3112251EB\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + }, + { + "pair": "cWXAUT/cWUSDT", + "token_a": "cWXAUT", + "token_b": "cWUSDT", + "token_a_address": "0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3", + "token_b_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "amount_env_a": "PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW", + "probe_block": "cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\"", + "create_if_absent_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\nPAIR=\"$(cast call \"$FACTORY\" 'getPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" --rpc-url \"$RPC_URL\")\"\nif [[ \"$PAIR\" == \"0x0000000000000000000000000000000000000000\" ]]; then\n cast send \"$FACTORY\" 'createPair(address,address)(address)' \"$TOKEN_A\" \"$TOKEN_B\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\nfi", + "deploy_block": "source smom-dbis-138/scripts/load-env.sh >/dev/null\nexport RPC_URL=\"${AVALANCHE_RPC_URL}\"\nexport FACTORY=\"${CHAIN_43114_UNISWAP_V2_FACTORY}\"\nexport ROUTER=\"${CHAIN_43114_UNISWAP_V2_ROUTER}\"\nexport TOKEN_A=\"0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3\"\nexport TOKEN_B=\"0x8142BA530B08f3950128601F00DaaA678213DFdf\"\nexport AMOUNT_A_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW:-}\"\nexport AMOUNT_B_RAW=\"${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW:-}\"\nexport SIGNER=\"$(cast wallet address --private-key \"$PRIVATE_KEY\")\"\nexport DEADLINE=\"$(( $(date +%s) + 3600 ))\"\ntest -n \"$AMOUNT_A_RAW\" && test -n \"$AMOUNT_B_RAW\"\ncast send \"$TOKEN_A\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_A_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$TOKEN_B\" 'approve(address,uint256)(bool)' \"$ROUTER\" \"$AMOUNT_B_RAW\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"\n\ncast send \"$ROUTER\" \\\n 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\\n \"$TOKEN_A\" \"$TOKEN_B\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$AMOUNT_A_RAW\" \"$AMOUNT_B_RAW\" \"$SIGNER\" \"$DEADLINE\" \\\n --private-key \"$PRIVATE_KEY\" --rpc-url \"$RPC_URL\"" + } + ], + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh" + ] + } + ] +} diff --git a/reports/extraction/promod-uniswap-v2-phase2-wave2-shell-paste-pack-latest.json b/reports/extraction/promod-uniswap-v2-phase2-wave2-shell-paste-pack-latest.json new file mode 100644 index 00000000..b151e53e --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-phase2-wave2-shell-paste-pack-latest.json @@ -0,0 +1,1228 @@ +{ + "generated_at": "2026-04-18T11:56:50Z", + "program_name": "Mr. Promod Uniswap V2 phase 2 wave 2 shell paste pack", + "purpose": "Pure shell-only paste pack for every phase-2 wave-2 wrapped-mesh pair in sequence.", + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWAUSDT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWAUSDT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWUSDW/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWUSDW/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 56, + "network": "BSC (BNB Chain)", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 100, + "network": "Gnosis Chain", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWAUSDT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWAUSDT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWAUSDT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWAUSDT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWUSDW/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWUSDW/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWAUSDT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWAUSDT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWBTC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWBTC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCADC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCADC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCHFC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCHFC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWJPYC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWJPYC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWUSDW/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWUSDW/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUC/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUC/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUT/cWUSDC", + "amount_env_a": "PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUT/cWUSDT", + "amount_env_a": "PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW", + "amount_env_b": "PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW" + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase2-wave2-operator-sequence-latest.json" + ] +} diff --git a/reports/extraction/promod-uniswap-v2-promotion-gates-latest.json b/reports/extraction/promod-uniswap-v2-promotion-gates-latest.json new file mode 100644 index 00000000..5f543d49 --- /dev/null +++ b/reports/extraction/promod-uniswap-v2-promotion-gates-latest.json @@ -0,0 +1,1052 @@ +{ + "generated_at": "2026-04-18T02:19:49Z", + "program_name": "Mr. Promod Uniswap V2 cW Deep Liquidity Program", + "purpose": "Exact per-chain env vars and registry records required before any Mr. Promod Uniswap V2 pool can be promoted as live.", + "mainnet_funding_posture": { + "mode": "triple-rail-support", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT", + "cWAUSDT" + ], + "notes": [ + "cWUSDC and cWUSDT remain the core settlement-adjacent rails.", + "cWAUSDT is the wrapped-depth support asset when canonical USDC or USDT inventory is not yet deep enough." + ] + }, + "summary": { + "chain_count": 10, + "blocked_chain_count": 6, + "note": "All target public chains remain blocked for live promotion until Uniswap V2 env wiring, registry entries, and pool/indexer visibility are complete." + }, + "entries": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "tier": "tier_1", + "hub_stable": "USDC", + "code_support_status": "ready", + "env_values_present": true, + "exact_env_vars_to_fill": [ + { + "name": "CHAIN_1_UNISWAP_V2_FACTORY", + "purpose": "Factory address used by token-aggregation to discover PairCreated events and pair addresses." + }, + { + "name": "CHAIN_1_UNISWAP_V2_ROUTER", + "purpose": "Router address used for quote execution assumptions and operator documentation." + }, + { + "name": "CHAIN_1_UNISWAP_V2_START_BLOCK", + "purpose": "Start block for indexer backfill so the first live pool is visible without scanning the full chain." + } + ], + "required_registry_records": [ + { + "path": "chains[1].cwTokens.cWUSDC", + "purpose": "Document the deployed cWUSDC address on this chain." + }, + { + "path": "chains[1].cwTokens.cWUSDT", + "purpose": "Document the deployed cWUSDT address on this chain." + }, + { + "path": "chains[1].anchorAddresses.USDC", + "purpose": "Document the hub stable address used by settlement-phase pairs on this chain." + }, + { + "path": "chains[1].pmmPools[]", + "purpose": "Record each promoted Uniswap V2 pair as a source-of-truth pool entry using base, quote, and poolAddress until a dedicated uniswapV2Pools registry is introduced.", + "required_fields": [ + "base", + "quote", + "poolAddress" + ] + }, + { + "path": "ai-mcp-pmm-controller/config/allowlist-1.json", + "purpose": "Expose the promoted pool to MCP/API visibility after it is written to deployment-status.json." + } + ], + "pool_entry_templates": [ + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x..." + } + ], + "existing_documented_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "existing_anchor_addresses": { + "USDC": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "USDT": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "TRUU": "0xDAe0faFD65385E7775Cf75b1398735155EF6aCD2" + }, + "promotion_gate": { + "factory_router_env_present": true, + "indexer_support_present": true, + "pool_registry_recorded": true, + "mcp_or_api_visibility_added": true, + "promotion_ready": true + }, + "blocking_items": [ + "cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC." + ] + }, + { + "chain_id": 10, + "network": "Optimism", + "tier": "tier_1", + "hub_stable": "USDC", + "code_support_status": "ready", + "env_values_present": true, + "exact_env_vars_to_fill": [ + { + "name": "CHAIN_10_UNISWAP_V2_FACTORY", + "purpose": "Factory address used by token-aggregation to discover PairCreated events and pair addresses." + }, + { + "name": "CHAIN_10_UNISWAP_V2_ROUTER", + "purpose": "Router address used for quote execution assumptions and operator documentation." + }, + { + "name": "CHAIN_10_UNISWAP_V2_START_BLOCK", + "purpose": "Start block for indexer backfill so the first live pool is visible without scanning the full chain." + } + ], + "required_registry_records": [ + { + "path": "chains[10].cwTokens.cWUSDC", + "purpose": "Document the deployed cWUSDC address on this chain." + }, + { + "path": "chains[10].cwTokens.cWUSDT", + "purpose": "Document the deployed cWUSDT address on this chain." + }, + { + "path": "chains[10].anchorAddresses.USDC", + "purpose": "Document the hub stable address used by settlement-phase pairs on this chain." + }, + { + "path": "chains[10].pmmPools[]", + "purpose": "Record each promoted Uniswap V2 pair as a source-of-truth pool entry using base, quote, and poolAddress until a dedicated uniswapV2Pools registry is introduced.", + "required_fields": [ + "base", + "quote", + "poolAddress" + ] + }, + { + "path": "ai-mcp-pmm-controller/config/allowlist-10.json", + "purpose": "Expose the promoted pool to MCP/API visibility after it is written to deployment-status.json." + } + ], + "pool_entry_templates": [ + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x..." + } + ], + "existing_documented_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "existing_anchor_addresses": { + "USDC": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "USDT": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" + }, + "promotion_gate": { + "factory_router_env_present": true, + "indexer_support_present": true, + "pool_registry_recorded": true, + "mcp_or_api_visibility_added": true, + "promotion_ready": true + }, + "blocking_items": [ + "cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC." + ] + }, + { + "chain_id": 25, + "network": "Cronos", + "tier": "tier_2", + "hub_stable": "USDT", + "code_support_status": "ready", + "env_values_present": true, + "exact_env_vars_to_fill": [ + { + "name": "CHAIN_25_UNISWAP_V2_FACTORY", + "purpose": "Factory address used by token-aggregation to discover PairCreated events and pair addresses." + }, + { + "name": "CHAIN_25_UNISWAP_V2_ROUTER", + "purpose": "Router address used for quote execution assumptions and operator documentation." + }, + { + "name": "CHAIN_25_UNISWAP_V2_START_BLOCK", + "purpose": "Start block for indexer backfill so the first live pool is visible without scanning the full chain." + } + ], + "required_registry_records": [ + { + "path": "chains[25].cwTokens.cWUSDC", + "purpose": "Document the deployed cWUSDC address on this chain." + }, + { + "path": "chains[25].cwTokens.cWUSDT", + "purpose": "Document the deployed cWUSDT address on this chain." + }, + { + "path": "chains[25].anchorAddresses.USDT", + "purpose": "Document the hub stable address used by settlement-phase pairs on this chain." + }, + { + "path": "chains[25].pmmPools[]", + "purpose": "Record each promoted Uniswap V2 pair as a source-of-truth pool entry using base, quote, and poolAddress until a dedicated uniswapV2Pools registry is introduced.", + "required_fields": [ + "base", + "quote", + "poolAddress" + ] + }, + { + "path": "ai-mcp-pmm-controller/config/allowlist-25.json", + "purpose": "Expose the promoted pool to MCP/API visibility after it is written to deployment-status.json." + } + ], + "pool_entry_templates": [ + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDC", + "quote": "USDT", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "USDT", + "poolAddress": "0x..." + } + ], + "existing_documented_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "existing_anchor_addresses": { + "USDC": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "USDT": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" + }, + "promotion_gate": { + "factory_router_env_present": true, + "indexer_support_present": true, + "pool_registry_recorded": true, + "mcp_or_api_visibility_added": true, + "promotion_ready": true + }, + "blocking_items": [ + "cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC." + ] + }, + { + "chain_id": 56, + "network": "BSC", + "tier": "tier_2", + "hub_stable": "USDT", + "code_support_status": "ready", + "env_values_present": true, + "exact_env_vars_to_fill": [ + { + "name": "CHAIN_56_UNISWAP_V2_FACTORY", + "purpose": "Factory address used by token-aggregation to discover PairCreated events and pair addresses." + }, + { + "name": "CHAIN_56_UNISWAP_V2_ROUTER", + "purpose": "Router address used for quote execution assumptions and operator documentation." + }, + { + "name": "CHAIN_56_UNISWAP_V2_START_BLOCK", + "purpose": "Start block for indexer backfill so the first live pool is visible without scanning the full chain." + } + ], + "required_registry_records": [ + { + "path": "chains[56].cwTokens.cWAUSDT", + "purpose": "Document the deployed cWAUSDT address on this chain." + }, + { + "path": "chains[56].cwTokens.cWUSDC", + "purpose": "Document the deployed cWUSDC address on this chain." + }, + { + "path": "chains[56].cwTokens.cWUSDT", + "purpose": "Document the deployed cWUSDT address on this chain." + }, + { + "path": "chains[56].anchorAddresses.USDT", + "purpose": "Document the hub stable address used by settlement-phase pairs on this chain." + }, + { + "path": "chains[56].pmmPools[]", + "purpose": "Record each promoted Uniswap V2 pair as a source-of-truth pool entry using base, quote, and poolAddress until a dedicated uniswapV2Pools registry is introduced.", + "required_fields": [ + "base", + "quote", + "poolAddress" + ] + }, + { + "path": "ai-mcp-pmm-controller/config/allowlist-56.json", + "purpose": "Expose the promoted pool to MCP/API visibility after it is written to deployment-status.json." + } + ], + "pool_entry_templates": [ + { + "base": "cWAUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWAUSDT", + "quote": "cWUSDT", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDC", + "quote": "USDT", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "USDT", + "poolAddress": "0x..." + }, + { + "base": "cWAUSDT", + "quote": "USDT", + "poolAddress": "0x..." + } + ], + "existing_documented_cw_tokens": [ + "cWAUDC", + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "existing_anchor_addresses": { + "USDT": "0x55d398326f99059fF775485246999027B3197955" + }, + "promotion_gate": { + "factory_router_env_present": true, + "indexer_support_present": true, + "pool_registry_recorded": true, + "mcp_or_api_visibility_added": true, + "promotion_ready": true + }, + "blocking_items": [] + }, + { + "chain_id": 100, + "network": "Gnosis", + "tier": "tier_2", + "hub_stable": "USDC", + "code_support_status": "ready", + "env_values_present": true, + "exact_env_vars_to_fill": [ + { + "name": "CHAIN_100_UNISWAP_V2_FACTORY", + "purpose": "Factory address used by token-aggregation to discover PairCreated events and pair addresses." + }, + { + "name": "CHAIN_100_UNISWAP_V2_ROUTER", + "purpose": "Router address used for quote execution assumptions and operator documentation." + }, + { + "name": "CHAIN_100_UNISWAP_V2_START_BLOCK", + "purpose": "Start block for indexer backfill so the first live pool is visible without scanning the full chain." + } + ], + "required_registry_records": [ + { + "path": "chains[100].cwTokens.cWUSDC", + "purpose": "Document the deployed cWUSDC address on this chain." + }, + { + "path": "chains[100].cwTokens.cWUSDT", + "purpose": "Document the deployed cWUSDT address on this chain." + }, + { + "path": "chains[100].anchorAddresses.USDC", + "purpose": "Document the hub stable address used by settlement-phase pairs on this chain." + }, + { + "path": "chains[100].pmmPools[]", + "purpose": "Record each promoted Uniswap V2 pair as a source-of-truth pool entry using base, quote, and poolAddress until a dedicated uniswapV2Pools registry is introduced.", + "required_fields": [ + "base", + "quote", + "poolAddress" + ] + }, + { + "path": "ai-mcp-pmm-controller/config/allowlist-100.json", + "purpose": "Expose the promoted pool to MCP/API visibility after it is written to deployment-status.json." + } + ], + "pool_entry_templates": [ + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x..." + } + ], + "existing_documented_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "existing_anchor_addresses": { + "USDC": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83" + }, + "promotion_gate": { + "factory_router_env_present": true, + "indexer_support_present": true, + "pool_registry_recorded": true, + "mcp_or_api_visibility_added": true, + "promotion_ready": true + }, + "blocking_items": [ + "cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC." + ] + }, + { + "chain_id": 137, + "network": "Polygon", + "tier": "tier_1", + "hub_stable": "USDC", + "code_support_status": "ready", + "env_values_present": true, + "exact_env_vars_to_fill": [ + { + "name": "CHAIN_137_UNISWAP_V2_FACTORY", + "purpose": "Factory address used by token-aggregation to discover PairCreated events and pair addresses." + }, + { + "name": "CHAIN_137_UNISWAP_V2_ROUTER", + "purpose": "Router address used for quote execution assumptions and operator documentation." + }, + { + "name": "CHAIN_137_UNISWAP_V2_START_BLOCK", + "purpose": "Start block for indexer backfill so the first live pool is visible without scanning the full chain." + } + ], + "required_registry_records": [ + { + "path": "chains[137].cwTokens.cWAUSDT", + "purpose": "Document the deployed cWAUSDT address on this chain." + }, + { + "path": "chains[137].cwTokens.cWUSDC", + "purpose": "Document the deployed cWUSDC address on this chain." + }, + { + "path": "chains[137].cwTokens.cWUSDT", + "purpose": "Document the deployed cWUSDT address on this chain." + }, + { + "path": "chains[137].anchorAddresses.USDC", + "purpose": "Document the hub stable address used by settlement-phase pairs on this chain." + }, + { + "path": "chains[137].pmmPools[]", + "purpose": "Record each promoted Uniswap V2 pair as a source-of-truth pool entry using base, quote, and poolAddress until a dedicated uniswapV2Pools registry is introduced.", + "required_fields": [ + "base", + "quote", + "poolAddress" + ] + }, + { + "path": "ai-mcp-pmm-controller/config/allowlist-137.json", + "purpose": "Expose the promoted pool to MCP/API visibility after it is written to deployment-status.json." + } + ], + "pool_entry_templates": [ + { + "base": "cWAUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWAUSDT", + "quote": "cWUSDT", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x..." + }, + { + "base": "cWAUSDT", + "quote": "USDC", + "poolAddress": "0x..." + } + ], + "existing_documented_cw_tokens": [ + "cWAUDC", + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "existing_anchor_addresses": { + "USDC": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "USDT": "0x66e4286603D22FF153A6547700f37C7Eae42F8E2" + }, + "promotion_gate": { + "factory_router_env_present": true, + "indexer_support_present": true, + "pool_registry_recorded": true, + "mcp_or_api_visibility_added": true, + "promotion_ready": true + }, + "blocking_items": [] + }, + { + "chain_id": 8453, + "network": "Base", + "tier": "tier_1", + "hub_stable": "USDC", + "code_support_status": "ready", + "env_values_present": true, + "exact_env_vars_to_fill": [ + { + "name": "CHAIN_8453_UNISWAP_V2_FACTORY", + "purpose": "Factory address used by token-aggregation to discover PairCreated events and pair addresses." + }, + { + "name": "CHAIN_8453_UNISWAP_V2_ROUTER", + "purpose": "Router address used for quote execution assumptions and operator documentation." + }, + { + "name": "CHAIN_8453_UNISWAP_V2_START_BLOCK", + "purpose": "Start block for indexer backfill so the first live pool is visible without scanning the full chain." + } + ], + "required_registry_records": [ + { + "path": "chains[8453].cwTokens.cWUSDC", + "purpose": "Document the deployed cWUSDC address on this chain." + }, + { + "path": "chains[8453].cwTokens.cWUSDT", + "purpose": "Document the deployed cWUSDT address on this chain." + }, + { + "path": "chains[8453].anchorAddresses.USDC", + "purpose": "Document the hub stable address used by settlement-phase pairs on this chain." + }, + { + "path": "chains[8453].pmmPools[]", + "purpose": "Record each promoted Uniswap V2 pair as a source-of-truth pool entry using base, quote, and poolAddress until a dedicated uniswapV2Pools registry is introduced.", + "required_fields": [ + "base", + "quote", + "poolAddress" + ] + }, + { + "path": "ai-mcp-pmm-controller/config/allowlist-8453.json", + "purpose": "Expose the promoted pool to MCP/API visibility after it is written to deployment-status.json." + } + ], + "pool_entry_templates": [ + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x..." + } + ], + "existing_documented_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "existing_anchor_addresses": { + "USDC": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "USDT": "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2" + }, + "promotion_gate": { + "factory_router_env_present": true, + "indexer_support_present": true, + "pool_registry_recorded": true, + "mcp_or_api_visibility_added": true, + "promotion_ready": true + }, + "blocking_items": [ + "cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC." + ] + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "tier": "tier_1", + "hub_stable": "USDC", + "code_support_status": "ready", + "env_values_present": true, + "exact_env_vars_to_fill": [ + { + "name": "CHAIN_42161_UNISWAP_V2_FACTORY", + "purpose": "Factory address used by token-aggregation to discover PairCreated events and pair addresses." + }, + { + "name": "CHAIN_42161_UNISWAP_V2_ROUTER", + "purpose": "Router address used for quote execution assumptions and operator documentation." + }, + { + "name": "CHAIN_42161_UNISWAP_V2_START_BLOCK", + "purpose": "Start block for indexer backfill so the first live pool is visible without scanning the full chain." + } + ], + "required_registry_records": [ + { + "path": "chains[42161].cwTokens.cWUSDC", + "purpose": "Document the deployed cWUSDC address on this chain." + }, + { + "path": "chains[42161].cwTokens.cWUSDT", + "purpose": "Document the deployed cWUSDT address on this chain." + }, + { + "path": "chains[42161].anchorAddresses.USDC", + "purpose": "Document the hub stable address used by settlement-phase pairs on this chain." + }, + { + "path": "chains[42161].pmmPools[]", + "purpose": "Record each promoted Uniswap V2 pair as a source-of-truth pool entry using base, quote, and poolAddress until a dedicated uniswapV2Pools registry is introduced.", + "required_fields": [ + "base", + "quote", + "poolAddress" + ] + }, + { + "path": "ai-mcp-pmm-controller/config/allowlist-42161.json", + "purpose": "Expose the promoted pool to MCP/API visibility after it is written to deployment-status.json." + } + ], + "pool_entry_templates": [ + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x..." + } + ], + "existing_documented_cw_tokens": [ + "cWAUDC", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "existing_anchor_addresses": { + "USDC": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "USDT": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" + }, + "promotion_gate": { + "factory_router_env_present": true, + "indexer_support_present": true, + "pool_registry_recorded": true, + "mcp_or_api_visibility_added": true, + "promotion_ready": true + }, + "blocking_items": [ + "cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC." + ] + }, + { + "chain_id": 42220, + "network": "Celo", + "tier": "tier_2", + "hub_stable": "USDC", + "code_support_status": "ready", + "env_values_present": true, + "exact_env_vars_to_fill": [ + { + "name": "CHAIN_42220_UNISWAP_V2_FACTORY", + "purpose": "Factory address used by token-aggregation to discover PairCreated events and pair addresses." + }, + { + "name": "CHAIN_42220_UNISWAP_V2_ROUTER", + "purpose": "Router address used for quote execution assumptions and operator documentation." + }, + { + "name": "CHAIN_42220_UNISWAP_V2_START_BLOCK", + "purpose": "Start block for indexer backfill so the first live pool is visible without scanning the full chain." + } + ], + "required_registry_records": [ + { + "path": "chains[42220].cwTokens.cWAUSDT", + "purpose": "Document the deployed cWAUSDT address on this chain." + }, + { + "path": "chains[42220].cwTokens.cWUSDC", + "purpose": "Document the deployed cWUSDC address on this chain." + }, + { + "path": "chains[42220].cwTokens.cWUSDT", + "purpose": "Document the deployed cWUSDT address on this chain." + }, + { + "path": "chains[42220].anchorAddresses.USDC", + "purpose": "Document the hub stable address used by settlement-phase pairs on this chain." + }, + { + "path": "chains[42220].pmmPools[]", + "purpose": "Record each promoted Uniswap V2 pair as a source-of-truth pool entry using base, quote, and poolAddress until a dedicated uniswapV2Pools registry is introduced.", + "required_fields": [ + "base", + "quote", + "poolAddress" + ] + }, + { + "path": "ai-mcp-pmm-controller/config/allowlist-42220.json", + "purpose": "Expose the promoted pool to MCP/API visibility after it is written to deployment-status.json." + } + ], + "pool_entry_templates": [ + { + "base": "cWAUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWAUSDT", + "quote": "cWUSDT", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x..." + }, + { + "base": "cWAUSDT", + "quote": "USDC", + "poolAddress": "0x..." + } + ], + "existing_documented_cw_tokens": [ + "cWAUDC", + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "existing_anchor_addresses": { + "USDC": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" + }, + "promotion_gate": { + "factory_router_env_present": true, + "indexer_support_present": true, + "pool_registry_recorded": true, + "mcp_or_api_visibility_added": true, + "promotion_ready": true + }, + "blocking_items": [] + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "tier": "tier_2", + "hub_stable": "USDC", + "code_support_status": "ready", + "env_values_present": true, + "exact_env_vars_to_fill": [ + { + "name": "CHAIN_43114_UNISWAP_V2_FACTORY", + "purpose": "Factory address used by token-aggregation to discover PairCreated events and pair addresses." + }, + { + "name": "CHAIN_43114_UNISWAP_V2_ROUTER", + "purpose": "Router address used for quote execution assumptions and operator documentation." + }, + { + "name": "CHAIN_43114_UNISWAP_V2_START_BLOCK", + "purpose": "Start block for indexer backfill so the first live pool is visible without scanning the full chain." + } + ], + "required_registry_records": [ + { + "path": "chains[43114].cwTokens.cWAUSDT", + "purpose": "Document the deployed cWAUSDT address on this chain." + }, + { + "path": "chains[43114].cwTokens.cWUSDC", + "purpose": "Document the deployed cWUSDC address on this chain." + }, + { + "path": "chains[43114].cwTokens.cWUSDT", + "purpose": "Document the deployed cWUSDT address on this chain." + }, + { + "path": "chains[43114].anchorAddresses.USDC", + "purpose": "Document the hub stable address used by settlement-phase pairs on this chain." + }, + { + "path": "chains[43114].pmmPools[]", + "purpose": "Record each promoted Uniswap V2 pair as a source-of-truth pool entry using base, quote, and poolAddress until a dedicated uniswapV2Pools registry is introduced.", + "required_fields": [ + "base", + "quote", + "poolAddress" + ] + }, + { + "path": "ai-mcp-pmm-controller/config/allowlist-43114.json", + "purpose": "Expose the promoted pool to MCP/API visibility after it is written to deployment-status.json." + } + ], + "pool_entry_templates": [ + { + "base": "cWAUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWAUSDT", + "quote": "cWUSDT", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "cWUSDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0x..." + }, + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x..." + }, + { + "base": "cWAUSDT", + "quote": "USDC", + "poolAddress": "0x..." + } + ], + "existing_documented_cw_tokens": [ + "cWAUDC", + "cWAUSDT", + "cWBTC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWUSDW", + "cWXAUC", + "cWXAUT" + ], + "existing_anchor_addresses": { + "USDC": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" + }, + "promotion_gate": { + "factory_router_env_present": true, + "indexer_support_present": true, + "pool_registry_recorded": true, + "mcp_or_api_visibility_added": true, + "promotion_ready": true + }, + "blocking_items": [] + } + ], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-liquidity-program-latest.json", + "reports/extraction/promod-uniswap-v2-live-pair-discovery-latest.json", + "cross-chain-pmm-lps/config/deployment-status.json", + "smom-dbis-138/services/token-aggregation/src/config/dex-factories.ts" + ] +} diff --git a/reports/extraction/source-to-cex-execution-plan-latest.json b/reports/extraction/source-to-cex-execution-plan-latest.json new file mode 100644 index 00000000..d3d9d4b0 --- /dev/null +++ b/reports/extraction/source-to-cex-execution-plan-latest.json @@ -0,0 +1,116 @@ +{ + "generated_at": "2026-04-17T15:11:49Z", + "strategy_frame": "Chain 138 inventory -> canonical bridge -> Mainnet normalization -> CEX handoff", + "operator_rule": "treat on-chain Mainnet cW/canonical pools as bounded conversion handshakes before external execution", + "production_enabled": false, + "mainnet_funding_posture": { + "mode": "dual-rail", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT" + ], + "primary_normalization_rail": "cWUSDC -> USDC", + "support_normalization_rail": "cWUSDT -> cWUSDC -> USDC", + "preferred_final_settlement_asset": "USDC", + "notes": [ + "The deployer wallet should maintain both Mainnet wrapped stables.", + "This dual-rail funding posture supports both the primary USDC settlement path and the cUSDT support rail." + ] + }, + "source_bucket_totals_usd": { + "immediate": "17777520.488172", + "same_day_corridor": "1381462148.370564", + "not_promoted_same_day_or_multi_day": "16146545.95318760949206922340", + "multi_day_or_indeterminate": "5457316857.361955141756801990" + }, + "source_bucket_counts": { + "immediate": 2, + "same_day_corridor": 5, + "not_promoted_same_day_or_multi_day": 25, + "multi_day_or_indeterminate": 4 + }, + "production_sinks": [], + "entries": [ + { + "source_asset": "cUSDC", + "source_location": "Chain 138", + "source_bucket": "same_day_corridor", + "bridge_output": "cWUSDC on Ethereum Mainnet", + "preferred_normalization": "cWUSDC -> USDC", + "aggregator_decision_set": [ + "direct cWUSDC -> USDC", + "independent USDC sink if live", + "RFQ wrapped-to-USDC if available" + ], + "preferred_cex_deposit_asset": "USDC", + "fallback_path": "bridge cUSDC -> cWUSDC, then use best available Mainnet USDC normalization route with capped public-pool usage", + "execution_model": "bridge first, normalize on Mainnet, then deposit USDC to CEX" + }, + { + "source_asset": "cUSDT", + "source_location": "Chain 138", + "source_bucket": "same_day_corridor", + "bridge_output": "cWUSDT on Ethereum Mainnet", + "preferred_normalization": "cWUSDT -> cWUSDC -> USDC", + "aggregator_decision_set": [ + "direct cWUSDT -> USDT", + "cWUSDT -> cWUSDC -> USDC", + "RFQ wrapped-to-stable conversion if available" + ], + "preferred_cex_deposit_asset": "USDC", + "fallback_path": "use direct cWUSDT -> USDT only for tiny packets or explicit override; otherwise route through USDC normalization", + "execution_model": "bridge first, compare direct USDT vs USDC-normalization path on Mainnet, then deposit the settlement stable to CEX" + }, + { + "source_asset": "LP:cUSDT/cUSDC", + "source_location": "Chain 138", + "source_bucket": "same_day_corridor", + "bridge_output": "cUSDT and cUSDC after LP withdrawal", + "preferred_normalization": "withdraw LP -> prefer cUSDC feeder -> bridge -> cWUSDC -> USDC", + "aggregator_decision_set": [ + "post-withdrawal normalization", + "direct cWUSDC -> USDC", + "cWUSDT -> cWUSDC -> USDC if needed" + ], + "preferred_cex_deposit_asset": "USDC", + "fallback_path": "withdraw LP, split outputs by best feeder path, avoid forcing whole ticket through direct USDT sink", + "execution_model": "LP unwind is feeder preparation, not terminal execution" + }, + { + "source_asset": "cWUSDC", + "source_location": "Ethereum Mainnet", + "source_bucket": "immediate", + "bridge_output": "none", + "preferred_normalization": "cWUSDC -> USDC", + "aggregator_decision_set": [ + "direct cWUSDC -> USDC", + "alternative independent USDC sinks", + "RFQ wrapped-to-USDC conversion" + ], + "preferred_cex_deposit_asset": "USDC", + "fallback_path": "split size, cap pool usage, treat on-chain conversion strictly as deposit preparation", + "execution_model": "same-hour handshake into USDC, then immediate CEX handoff" + }, + { + "source_asset": "cWUSDT", + "source_location": "Ethereum Mainnet", + "source_bucket": "immediate", + "bridge_output": "none", + "preferred_normalization": "cWUSDT -> cWUSDC -> USDC", + "aggregator_decision_set": [ + "direct cWUSDT -> USDT", + "cWUSDT -> cWUSDC -> USDC", + "RFQ wrapped-to-stable conversion" + ], + "preferred_cex_deposit_asset": "USDC", + "fallback_path": "direct USDT path is last-resort and tiny; practical size should flow through USDC-normalization", + "execution_model": "same-hour normalization decision on Mainnet, then CEX handoff" + } + ], + "source_artifacts": [ + "reports/extraction/immediate-and-same-day-corridor-assets-latest.json", + "reports/extraction/strict-operator-public-liquidity-table-latest.json", + "config/extraction/additional-wallet-inventory.json", + "config/extraction/source-to-cex-production-policy.json" + ] +} diff --git a/reports/extraction/source-to-cex-offchain-sink-validation-latest.json b/reports/extraction/source-to-cex-offchain-sink-validation-latest.json new file mode 100644 index 00000000..ad90bddd --- /dev/null +++ b/reports/extraction/source-to-cex-offchain-sink-validation-latest.json @@ -0,0 +1,25 @@ +{ + "generated_at": "2026-04-17T15:11:49Z", + "inventory_path": "config/extraction/additional-wallet-inventory.json", + "mainnet_funding_posture": { + "mode": "dual-rail", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT" + ], + "primary_normalization_rail": "cWUSDC -> USDC", + "support_normalization_rail": "cWUSDT -> cWUSDC -> USDC", + "preferred_final_settlement_asset": "USDC", + "notes": [ + "The deployer wallet should maintain both Mainnet wrapped stables.", + "This dual-rail funding posture supports both the primary USDC settlement path and the cUSDT support rail." + ] + }, + "included_sink_count": 0, + "ready": false, + "blocking_issues": [ + "no off-chain sink rows are currently included in baseline scope" + ], + "warnings": [], + "sinks": [] +} diff --git a/reports/extraction/source-to-cex-production-readiness-latest.json b/reports/extraction/source-to-cex-production-readiness-latest.json new file mode 100644 index 00000000..39fc1daa --- /dev/null +++ b/reports/extraction/source-to-cex-production-readiness-latest.json @@ -0,0 +1,102 @@ +{ + "generated_at": "2026-04-17T15:11:49Z", + "ready_for_immediate_live_production": false, + "strategy_frame": "Chain 138 inventory -> canonical bridge -> Mainnet normalization -> CEX handoff", + "mainnet_funding_posture": { + "mode": "dual-rail", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT" + ], + "primary_normalization_rail": "cWUSDC -> USDC", + "support_normalization_rail": "cWUSDT -> cWUSDC -> USDC", + "preferred_final_settlement_asset": "USDC", + "notes": [ + "The deployer wallet should maintain both Mainnet wrapped stables.", + "This dual-rail funding posture supports both the primary USDC settlement path and the cUSDT support rail." + ] + }, + "policy": { + "path": "config/extraction/source-to-cex-production-policy.json", + "production_enabled": false, + "packetization_policy": { + "bridge_packet_usd_max": 250000, + "normalization_packet_usd_max": 100000, + "direct_cwusdc_usdc_usage_cap_usd": 213.102461, + "direct_cwusdt_usdt_usage_cap_usd": 2.182358, + "force_cwusdt_via_cwusdc_threshold_usd": 10, + "default_slippage_ceiling_bps": 100, + "chunking_mode": "bridge_in_chunks_then_normalize_then_continuous_cex_handoff" + } + }, + "offchain_sink_validation": { + "generated_at": "2026-04-17T15:11:49Z", + "inventory_path": "config/extraction/additional-wallet-inventory.json", + "mainnet_funding_posture": { + "mode": "dual-rail", + "required_deployer_assets": [ + "cWUSDC", + "cWUSDT" + ], + "primary_normalization_rail": "cWUSDC -> USDC", + "support_normalization_rail": "cWUSDT -> cWUSDC -> USDC", + "preferred_final_settlement_asset": "USDC", + "notes": [ + "The deployer wallet should maintain both Mainnet wrapped stables.", + "This dual-rail funding posture supports both the primary USDC settlement path and the cUSDT support rail." + ] + }, + "included_sink_count": 0, + "ready": false, + "blocking_issues": [ + "no off-chain sink rows are currently included in baseline scope" + ], + "warnings": [], + "sinks": [] + }, + "offchain_sinks": [], + "tasks": [ + { + "task": "operator_model_locked", + "status": "ready" + }, + { + "task": "baseline_refreshed", + "status": "ready" + }, + { + "task": "mainnet_normalization_modeled", + "status": "ready", + "evidence": { + "cwusdc_direct_depth_usd": "213.102461", + "cwusdt_direct_depth_usd": "2.182358" + } + }, + { + "task": "production_policy_present", + "status": "ready" + }, + { + "task": "offchain_sink_defined", + "status": "blocked", + "blocking_issues": [ + "no real off-chain sink is currently included in baseline scope" + ] + }, + { + "task": "live_production_enabled", + "status": "blocked" + } + ], + "blocking_issues": [ + "no real off-chain sink is currently included in baseline scope", + "source-to-cex production policy remains disabled" + ], + "next_live_inputs_required": [ + "at least one real off-chain sink row with include_in_baseline=true", + "enabled_for_production_handoff=true on the real sink", + "real deposit address and chain for the chosen sink", + "operational_status=enabled for the chosen sink", + "operator decision to set production_enabled=true after live canaries succeed" + ] +} diff --git a/reports/extraction/strict-operator-public-liquidity-table-latest.json b/reports/extraction/strict-operator-public-liquidity-table-latest.json new file mode 100644 index 00000000..38c346a9 --- /dev/null +++ b/reports/extraction/strict-operator-public-liquidity-table-latest.json @@ -0,0 +1,37 @@ +{ + "generated_at": "2026-04-17T11:10:00Z", + "entries": [ + { + "asset": "cWUSDC", + "asset_location": "Ethereum Mainnet", + "route_id": "cwusdc-direct-usdc", + "current_verified_public_depth_usd": "213.102461", + "blocking_dependency": "shallow direct cW/canonical PMM pool on Mainnet", + "status": "live-read" + }, + { + "asset": "cWUSDT", + "asset_location": "Ethereum Mainnet", + "route_id": "cwusdt-direct-usdt", + "current_verified_public_depth_usd": "2.182358", + "blocking_dependency": "direct cWUSDT/USDT pool is too shallow", + "status": "live-read" + }, + { + "asset": "cUSDT", + "asset_location": "Chain 138", + "route_id": "chain138-cusdt-to-eth-usdc-via-cwusdc", + "current_verified_public_depth_usd": "213.102461", + "blocking_dependency": "final cWUSDC/USDC Mainnet leg is the limiting pool", + "status": "simulated" + }, + { + "asset": "cUSDC", + "asset_location": "Chain 138", + "route_id": "chain138-cusdc-to-eth-usdc", + "current_verified_public_depth_usd": "213.102461", + "blocking_dependency": "Mainnet public exit depth, not bridge wiring", + "status": "simulated" + } + ] +} diff --git a/scripts/deployment/send-eth-ei-matrix-wallets.sh b/scripts/deployment/send-eth-ei-matrix-wallets.sh new file mode 100755 index 00000000..e4ca7dc7 --- /dev/null +++ b/scripts/deployment/send-eth-ei-matrix-wallets.sh @@ -0,0 +1,160 @@ +#!/usr/bin/env bash +# Send a random amount between 5 and 9 ETH (inclusive) to each address in +# config/pmm-soak-wallet-grid.json (Elemental Imperium 33×33×6 matrix). +# +# Requires: cast (Foundry), jq, python3. Loads PRIVATE_KEY and RPC via load-project-env.sh. +# +# Usage: +# ./scripts/deployment/send-eth-ei-matrix-wallets.sh [--dry-run] [--limit N] [--offset N] +# +# --dry-run Print planned sends only (no transactions). +# --limit N Process at most N wallets (after offset). Default: all. +# --offset N Skip the first N wallets (resume / partial run). +# +# Gas (Chain 138 / Besu): defaults avoid stuck pending txs from near-zero EIP-1559 caps. +# Override if needed: +# EI_MATRIX_GAS_PRICE=100000000000 +# EI_MATRIX_PRIORITY_GAS_PRICE=20000000000 +# +# Nonces: each send uses an explicit --nonce from eth_getTransactionCount(..., "pending") +# and increments locally so --async does not race duplicate nonces. +# +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" +cd "$PROJECT_ROOT" + +DRY_RUN=false +LIMIT="" +OFFSET="0" +while [[ $# -gt 0 ]]; do + case "$1" in + --dry-run) DRY_RUN=true; shift ;; + --limit) LIMIT="${2:?}"; shift 2 ;; + --offset) OFFSET="${2:?}"; shift 2 ;; + *) echo "Unknown arg: $1" >&2; exit 1 ;; + esac +done + +# shellcheck disable=SC1091 +source "$PROJECT_ROOT/scripts/lib/load-project-env.sh" + +LOCK_FILE="${PROJECT_ROOT}/reports/status/ei-matrix-eth-send.lock" +mkdir -p "$(dirname "$LOCK_FILE")" +exec 200>"$LOCK_FILE" +if ! flock -n 200; then + echo "Another send-eth-ei-matrix-wallets.sh is already running (lock: $LOCK_FILE)." >&2 + exit 1 +fi + +RPC="${RPC_URL_138:-http://192.168.11.211:8545}" +GRID="$PROJECT_ROOT/config/pmm-soak-wallet-grid.json" +DEPLOYER_CANONICAL="0x4A666F96fC8764181194447A7dFdb7d471b301C8" +# Wei per gas — must exceed stuck-replacement threshold on busy pools (see script header). +EI_MATRIX_GAS_PRICE="${EI_MATRIX_GAS_PRICE:-100000000000}" +EI_MATRIX_PRIORITY_GAS_PRICE="${EI_MATRIX_PRIORITY_GAS_PRICE:-20000000000}" + +[[ -f "$GRID" ]] || { echo "Missing $GRID" >&2; exit 1; } +command -v cast &>/dev/null || { echo "cast (Foundry) required" >&2; exit 1; } +command -v jq &>/dev/null || { echo "jq required" >&2; exit 1; } + +[[ -n "${PRIVATE_KEY:-}" ]] || { echo "PRIVATE_KEY not set (source smom-dbis-138/.env or root .env)" >&2; exit 1; } + +FROM_ADDR=$(cast wallet address --private-key "$PRIVATE_KEY") +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "EI matrix ETH distribution (random 5–9 ETH per wallet)" +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "RPC: $RPC" +echo "Signer: $FROM_ADDR" +echo "Grid: $GRID" +echo "Dry-run: $DRY_RUN" +echo "Offset: $OFFSET Limit: ${LIMIT:-all}" +echo "Gas: maxFee=$EI_MATRIX_GAS_PRICE wei priorityFee=$EI_MATRIX_PRIORITY_GAS_PRICE wei" +echo "" + +if [[ "${FROM_ADDR,,}" != "${DEPLOYER_CANONICAL,,}" ]]; then + echo "[WARN] Signer is not canonical deployer $DEPLOYER_CANONICAL — continuing anyway." + echo "" +fi + +pending_nonce() { + local resp hex + resp=$(curl -sS -X POST "$RPC" -H "Content-Type: application/json" \ + -d "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getTransactionCount\",\"params\":[\"${FROM_ADDR}\",\"pending\"],\"id\":1}" 2>/dev/null) || return 1 + hex=$(echo "$resp" | jq -r '.result // empty') + [[ -n "$hex" ]] || return 1 + cast to-dec "$hex" +} + +random_wei() { + python3 -c "import random; from decimal import Decimal; print(int(Decimal(str(random.uniform(5.0, 9.0))) * 10**18))" +} + +ERR_LOG="${PROJECT_ROOT}/reports/status/ei-matrix-eth-send-failures.log" +mkdir -p "$(dirname "$ERR_LOG")" + +if ! $DRY_RUN; then + NONCE=$(pending_nonce) || { echo "Could not read pending nonce for $FROM_ADDR" >&2; exit 1; } + echo "Starting nonce (pending): $NONCE" + echo "" +else + NONCE=0 +fi + +stream_addresses() { + if [[ -n "${LIMIT:-}" ]]; then + jq -r '.wallets[] | .address' "$GRID" | tail -n +$((OFFSET + 1)) | head -n "$LIMIT" + else + jq -r '.wallets[] | .address' "$GRID" | tail -n +$((OFFSET + 1)) + fi +} + +sent=0 +failed=0 +idx=$OFFSET +while read -r addr; do + wei=$(random_wei) + eth_approx=$(python3 -c "print(f'{$wei / 1e18:.6f}')") + if $DRY_RUN; then + echo "[dry-run] idx=$idx $addr ${wei} wei (~${eth_approx} ETH)" + else + GP="$EI_MATRIX_GAS_PRICE" + PP="$EI_MATRIX_PRIORITY_GAS_PRICE" + attempt=1 + while [[ "$attempt" -le 2 ]]; do + if out=$(cast send "$addr" --value "$wei" --rpc-url "$RPC" --private-key "$PRIVATE_KEY" \ + --nonce "$NONCE" \ + --async \ + --gas-price "$GP" \ + --priority-gas-price "$PP" \ + 2>&1); then + tx=$(echo "$out" | tail -n1) + echo "[ok] idx=$idx nonce=$NONCE $addr ${eth_approx} ETH tx=$tx" + sent=$((sent + 1)) + NONCE=$((NONCE + 1)) + echo "$idx" > "${PROJECT_ROOT}/reports/status/ei-matrix-eth-send-last-idx.txt" + break + fi + if echo "$out" | grep -q "Replacement transaction underpriced" && [[ "$attempt" -eq 1 ]]; then + GP=$((GP * 2)) + PP=$((PP * 2)) + NONCE=$(pending_nonce) || true + attempt=$((attempt + 1)) + continue + fi + echo "[fail] idx=$idx nonce=$NONCE $addr $out" | tee -a "$ERR_LOG" >&2 + failed=$((failed + 1)) + NONCE=$(pending_nonce) || true + break + done + fi + idx=$((idx + 1)) +done < <(stream_addresses) + +echo "" +if $DRY_RUN; then + echo "Dry-run complete (no transactions sent). Indices covered: $OFFSET..$((idx - 1))." +else + echo "Done. Sent: $sent Failed: $failed" +fi diff --git a/scripts/lib/apply_elemental_imperium_wallet_labels.py b/scripts/lib/apply_elemental_imperium_wallet_labels.py new file mode 100644 index 00000000..f84c319a --- /dev/null +++ b/scripts/lib/apply_elemental_imperium_wallet_labels.py @@ -0,0 +1,131 @@ +#!/usr/bin/env python3 +""" +Apply Elemental Imperium matrix labels to config/pmm-soak-wallet-grid.json. + +Each wallet gains: + cellId — immutable coordinate label (EI-L##-B##-C#) + networkCode — from registry default, overlay rangeRules, then cellOverrides + asn — same layering; null until known + label — {networkCode}.{cellId}[.AS{n}] + +Run from repo root: + python3 scripts/lib/apply_elemental_imperium_wallet_labels.py + +Options: + --network-code CODE Base networkCode for all wallets (before overlay). + --asn N Base ASN for all wallets (before overlay). + --overlay PATH JSON overlay (see config/elemental-imperium-wallet-overlay.example.json) +""" + +from __future__ import annotations + +import argparse +import json +import sys +from pathlib import Path + +_REPO_LIB = Path(__file__).resolve().parent +if str(_REPO_LIB) not in sys.path: + sys.path.insert(0, str(_REPO_LIB)) + +from elemental_imperium_wallet_common import ( # noqa: E402 + build_label, + cell_id, + resolve_network_asn, +) + + +def load_registry(repo_root: Path) -> tuple[str, dict]: + reg_path = repo_root / "config" / "elemental-imperium-network-registry.json" + reg = json.loads(reg_path.read_text(encoding="utf-8")) + default = reg.get("defaultNetworkCode", "unassigned") + return default, reg + + +def load_overlay(path: Path) -> dict: + o = json.loads(path.read_text(encoding="utf-8")) + if not isinstance(o, dict): + raise SystemExit("Overlay must be a JSON object") + return o + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument( + "--network-code", + dest="network_code", + default=None, + help="Base networkCode for every wallet (before overlay)", + ) + parser.add_argument( + "--asn", + type=int, + default=None, + help="Base ASN for every wallet (before overlay)", + ) + parser.add_argument( + "--overlay", + type=Path, + default=None, + help="Path to overlay JSON (rangeRules + cellOverrides)", + ) + args = parser.parse_args() + + repo_root = Path(__file__).resolve().parents[2] + grid_path = repo_root / "config" / "pmm-soak-wallet-grid.json" + default_net, registry = load_registry(repo_root) + base_network = args.network_code or default_net + base_asn = args.asn + overlay: dict | None = None + overlay_path_str: str | None = None + if args.overlay: + overlay = load_overlay(args.overlay.resolve()) + overlay_path_str = str(args.overlay) + + data = json.loads(grid_path.read_text(encoding="utf-8")) + wallets = data.get("wallets") + if not isinstance(wallets, list): + raise SystemExit("Invalid grid: missing wallets array") + + spec = registry.get("labelSpec", {}) + labeling = { + "specId": spec.get("id", "ei-wallet-label-v1"), + "registryPath": "config/elemental-imperium-network-registry.json", + "defaultNetworkCode": default_net, + "baseNetworkCode": base_network, + "baseAsn": base_asn, + "overlayPath": overlay_path_str, + "cellIdFormat": spec.get("cellIdFormat", "EI-L{lpbca:02d}-B{branch:02d}-C{class}"), + "labelFormats": { + "default": spec.get("labelFormatDefault", "{networkCode}.{cellId}"), + "withAsn": spec.get("labelFormatWithAsn", "{networkCode}.{cellId}.AS{asn}"), + }, + } + + for w in wallets: + lpbca = int(w["lpbca"]) + branch = int(w["branch"]) + class_ = int(w["class"]) + cid = cell_id(lpbca, branch, class_) + w["cellId"] = cid + net, asn = resolve_network_asn(w, cid, base_network, base_asn, overlay) + w["networkCode"] = net + w["asn"] = asn + w["label"] = build_label(net, cid, asn) + + ver = max(int(data.get("version", 1)), 2) + + out = { + "version": ver, + "dimensions": data["dimensions"], + "derivation": data["derivation"], + "labeling": labeling, + "wallets": wallets, + } + + grid_path.write_text(json.dumps(out, indent=2, sort_keys=False) + "\n", encoding="utf-8") + print(f"Wrote {len(wallets)} wallets to {grid_path}") + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/chain_138_to_wemix_1111_bridge_completion_checklist.py b/scripts/lib/chain_138_to_wemix_1111_bridge_completion_checklist.py new file mode 100644 index 00000000..7a70c460 --- /dev/null +++ b/scripts/lib/chain_138_to_wemix_1111_bridge_completion_checklist.py @@ -0,0 +1,279 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import os +from pathlib import Path + + +REPO_ROOT = Path(__file__).resolve().parents[2] +DEPLOYMENT_STATUS_PATH = REPO_ROOT / "cross-chain-pmm-lps/config/deployment-status.json" +DOC_PATH = REPO_ROOT / "docs/03-deployment/CHAIN_138_TO_WEMIX_1111_BRIDGE_COMPLETION_CHECKLIST.md" +JSON_PATH = REPO_ROOT / "reports/extraction/chain-138-to-wemix-1111-bridge-completion-checklist-latest.json" + + +def load_env(repo_root: Path) -> None: + for env_path in (repo_root / ".env", repo_root / "smom-dbis-138/.env"): + if not env_path.exists(): + continue + for raw_line in env_path.read_text().splitlines(): + line = raw_line.strip() + if not line or line.startswith("#") or "=" not in line: + continue + key, value = line.split("=", 1) + os.environ.setdefault(key.strip(), value.strip().strip("'").strip('"')) + + +def env_value(key: str) -> str: + return os.environ.get(key, "") + + +def main() -> None: + load_env(REPO_ROOT) + + deployment_status = json.loads(DEPLOYMENT_STATUS_PATH.read_text()) + chain_1111 = deployment_status["chains"]["1111"] + + env_snapshot = { + "CCIP_ROUTER_WEMIX": env_value("CCIP_ROUTER_WEMIX"), + "LINK_TOKEN_WEMIX": env_value("LINK_TOKEN_WEMIX"), + "WETH9_WEMIX": env_value("WETH9_WEMIX"), + "WETH10_WEMIX": env_value("WETH10_WEMIX"), + "CCIPWETH9_BRIDGE_WEMIX": env_value("CCIPWETH9_BRIDGE_WEMIX"), + "CCIPWETH10_BRIDGE_WEMIX": env_value("CCIPWETH10_BRIDGE_WEMIX"), + "LINK_GAS_AVAILABLE_1111": env_value("LINK_GAS_AVAILABLE_1111"), + "LINK_GAS_UNAVAILABLE_CHAIN_IDS": env_value("LINK_GAS_UNAVAILABLE_CHAIN_IDS"), + "WEMIX_RPC": env_value("WEMIX_RPC"), + "CHAIN138_SELECTOR": env_value("CHAIN138_SELECTOR"), + "CCIPWETH9_BRIDGE_CHAIN138": env_value("CCIPWETH9_BRIDGE_CHAIN138"), + "CCIPWETH10_BRIDGE_CHAIN138": env_value("CCIPWETH10_BRIDGE_CHAIN138"), + } + + selector_1111 = "5142893604156789321" + checklist = { + "title": "Chain 138 -> Wemix 1111 Bridge Completion Checklist", + "last_updated": "2026-04-18", + "source_chain_id": 138, + "destination_chain_id": 1111, + "destination_selector": selector_1111, + "current_repo_state": { + "activation_state": chain_1111["activationState"], + "bridge_available": chain_1111["bridgeAvailable"], + "cw_tokens": chain_1111.get("cwTokens", {}), + "anchor_addresses": chain_1111.get("anchorAddresses", {}), + "gas_mirrors": chain_1111.get("gasMirrors", {}), + "gas_quote_addresses": chain_1111.get("gasQuoteAddresses", {}), + }, + "environment": env_snapshot, + "promotion_conditions": [ + "CCIPWETH9_BRIDGE_WEMIX and CCIPWETH10_BRIDGE_WEMIX are deployed and recorded in smom-dbis-138/.env", + "Wemix bridges include CHAIN138_SELECTOR as a destination and Chain 138 bridges include selector 5142893604156789321 as a destination", + "LINK_GAS_AVAILABLE_1111 is non-zero and both WEMIX bridges hold operational LINK balances", + "A small WETH9 or WETH10 test transfer succeeds from Chain 138 to 1111 and back", + "GRU v2 asset rollout prerequisites are satisfied for the specific cW* assets to be enabled on 1111", + ], + "steps": [ + { + "step": 1, + "title": "Preflight WEMIX configuration", + "commands": [ + "cd smom-dbis-138", + "./scripts/deployment/preflight-config-ready-chains.sh wemix", + ], + "checks": [ + "WEMIX_RPC resolves and responds", + "deployer has native WEMIX gas", + "CCIP_ROUTER_WEMIX, LINK_TOKEN_WEMIX, WETH9_WEMIX, and WETH10_WEMIX are set", + ], + }, + { + "step": 2, + "title": "Deploy WETH bridges on chain 1111", + "commands": [ + "cd smom-dbis-138", + "./scripts/deployment/deploy-bridges-config-ready-chains.sh wemix", + ], + "checks": [ + "capture deployed CCIPWETH9Bridge address into CCIPWETH9_BRIDGE_WEMIX", + "capture deployed CCIPWETH10Bridge address into CCIPWETH10_BRIDGE_WEMIX", + ], + }, + { + "step": 3, + "title": "Wire destinations in both directions", + "commands": [ + "cd smom-dbis-138", + "./scripts/deployment/complete-config-ready-chains.sh", + ], + "checks": [ + "Chain 138 WETH9 bridge contains selector 5142893604156789321 -> CCIPWETH9_BRIDGE_WEMIX", + "Chain 138 WETH10 bridge contains selector 5142893604156789321 -> CCIPWETH10_BRIDGE_WEMIX", + "Wemix WETH9 bridge contains CHAIN138_SELECTOR -> CCIPWETH9_BRIDGE_CHAIN138", + "Wemix WETH10 bridge contains CHAIN138_SELECTOR -> CCIPWETH10_BRIDGE_CHAIN138", + ], + }, + { + "step": 4, + "title": "Fund LINK on WEMIX bridges", + "commands": [ + "cd smom-dbis-138", + "./scripts/deployment/check-link-balance-config-ready-chains.sh wemix", + "./scripts/deployment/fund-ccip-bridges-with-link.sh", + ], + "checks": [ + "target at least 10 LINK per bridge", + "LINK_GAS_AVAILABLE_1111 flips from 0 to a positive value", + ], + }, + { + "step": 5, + "title": "Verify bridge readiness", + "commands": [ + "cast call \"$CCIPWETH9_BRIDGE_WEMIX\" 'getDestinationChains()(uint64[])' --rpc-url \"$WEMIX_RPC\"", + "cast call \"$CCIPWETH10_BRIDGE_WEMIX\" 'getDestinationChains()(uint64[])' --rpc-url \"$WEMIX_RPC\"", + ], + "checks": [ + "both directions show configured selectors", + "small WETH9/WETH10 test transfer succeeds", + ], + }, + { + "step": 6, + "title": "Prepare GRU v2 assets for 1111", + "commands": [], + "checks": [ + "confirm which cW* assets beyond cWBTC are intended for 1111", + "deploy or confirm destination cW* token contracts on 1111", + "wire bridge or mint authority for those assets", + "only after asset delivery is live, promote DODO PMM / Uniswap V2 / other venue rollout on 1111", + ], + }, + ], + } + + markdown = f"""# Chain 138 -> Wemix 1111 Bridge Completion Checklist + +**Last Updated:** 2026-04-18 +**Purpose:** Strict operator checklist to move WEMIX `1111` from repo-deferred state into a live `138 -> 1111` bridge path for `WETH9` / `WETH10`, then prepare GRU v2 `cW*` assets for rollout. + +## 1. Current Repo State + +| Item | Current State | +|---|---| +| Destination chain | `1111` / Wemix | +| Destination selector | `{selector_1111}` | +| Activation state | `{checklist["current_repo_state"]["activation_state"]}` | +| Bridge available | `{str(checklist["current_repo_state"]["bridge_available"]).lower()}` | +| Recorded `cW*` assets | `{", ".join(checklist["current_repo_state"]["cw_tokens"].keys()) or "none"}` | +| Recorded anchor addresses | `{", ".join(f"{k}={v}" for k, v in checklist["current_repo_state"]["anchor_addresses"].items())}` | + +The repo currently shows WEMIX as **deferred**, not live. Native WEMIX gas is the only part that is already in good shape; the missing bridge deployment and LINK funding are the actual blockers. + +## 2. Exact Environment Surface + +| Variable | Current Value | +|---|---| +| `CCIP_ROUTER_WEMIX` | `{env_snapshot["CCIP_ROUTER_WEMIX"] or "(unset)"}` | +| `LINK_TOKEN_WEMIX` | `{env_snapshot["LINK_TOKEN_WEMIX"] or "(unset)"}` | +| `WETH9_WEMIX` | `{env_snapshot["WETH9_WEMIX"] or "(unset)"}` | +| `WETH10_WEMIX` | `{env_snapshot["WETH10_WEMIX"] or "(unset)"}` | +| `CCIPWETH9_BRIDGE_WEMIX` | `{env_snapshot["CCIPWETH9_BRIDGE_WEMIX"] or "(unset)"}` | +| `CCIPWETH10_BRIDGE_WEMIX` | `{env_snapshot["CCIPWETH10_BRIDGE_WEMIX"] or "(unset)"}` | +| `LINK_GAS_AVAILABLE_1111` | `{env_snapshot["LINK_GAS_AVAILABLE_1111"] or "(unset)"}` | +| `LINK_GAS_UNAVAILABLE_CHAIN_IDS` | `{env_snapshot["LINK_GAS_UNAVAILABLE_CHAIN_IDS"] or "(unset)"}` | +| `WEMIX_RPC` | `{env_snapshot["WEMIX_RPC"] or "(unset)"}` | +| `CHAIN138_SELECTOR` | `{env_snapshot["CHAIN138_SELECTOR"] or "(unset)"}` | +| `CCIPWETH9_BRIDGE_CHAIN138` | `{env_snapshot["CCIPWETH9_BRIDGE_CHAIN138"] or "(unset)"}` | +| `CCIPWETH10_BRIDGE_CHAIN138` | `{env_snapshot["CCIPWETH10_BRIDGE_CHAIN138"] or "(unset)"}` | + +## 3. Completion Steps + +### Step 1: Preflight WEMIX + +```bash +cd smom-dbis-138 +./scripts/deployment/preflight-config-ready-chains.sh wemix +``` + +Success means: +- `WEMIX_RPC` responds +- deployer has native WEMIX gas +- `CCIP_ROUTER_WEMIX`, `LINK_TOKEN_WEMIX`, `WETH9_WEMIX`, and `WETH10_WEMIX` are present + +### Step 2: Deploy `CCIPWETH9Bridge` and `CCIPWETH10Bridge` on 1111 + +```bash +cd smom-dbis-138 +./scripts/deployment/deploy-bridges-config-ready-chains.sh wemix +``` + +After deployment, persist the returned addresses into: +- `CCIPWETH9_BRIDGE_WEMIX` +- `CCIPWETH10_BRIDGE_WEMIX` + +### Step 3: Wire destinations in both directions + +```bash +cd smom-dbis-138 +./scripts/deployment/complete-config-ready-chains.sh +``` + +Required result: +- Chain `138` WETH9 bridge includes selector `{selector_1111}` -> `CCIPWETH9_BRIDGE_WEMIX` +- Chain `138` WETH10 bridge includes selector `{selector_1111}` -> `CCIPWETH10_BRIDGE_WEMIX` +- WEMIX WETH9 bridge includes `CHAIN138_SELECTOR` -> `CCIPWETH9_BRIDGE_CHAIN138` +- WEMIX WETH10 bridge includes `CHAIN138_SELECTOR` -> `CCIPWETH10_BRIDGE_CHAIN138` + +### Step 4: Fund LINK on the WEMIX bridges + +```bash +cd smom-dbis-138 +./scripts/deployment/check-link-balance-config-ready-chains.sh wemix +./scripts/deployment/fund-ccip-bridges-with-link.sh +``` + +Target: +- at least `10 LINK` on each bridge +- `LINK_GAS_AVAILABLE_1111` becomes non-zero + +### Step 5: Verify bridge readiness + +```bash +cast call "$CCIPWETH9_BRIDGE_WEMIX" 'getDestinationChains()(uint64[])' --rpc-url "$WEMIX_RPC" +cast call "$CCIPWETH10_BRIDGE_WEMIX" 'getDestinationChains()(uint64[])' --rpc-url "$WEMIX_RPC" +``` + +Then run a small test transfer for `WETH9` or `WETH10` from `138 -> 1111` and confirm receipt. + +### Step 6: Prepare GRU v2 `cW*` assets for 1111 + +This step is **after** the WETH bridge path is proven live. + +Current repo state only scaffolds: +- `cWBTC` + +Before GRU v2 can be promoted on `1111`, the operator still needs to: +- confirm the intended destination `cW*` asset set +- deploy or confirm destination token contracts on `1111` +- wire bridge or mint authority for those assets +- only then enable DODO PMM / Uniswap V2 / other venue rollout on WEMIX + +## 4. Promotion Conditions + +WEMIX `1111` can move out of deferred state only after all of the following are true: + +1. `CCIPWETH9_BRIDGE_WEMIX` and `CCIPWETH10_BRIDGE_WEMIX` are deployed and stored in `.env`. +2. Chain `138` and chain `1111` each list the other as a valid bridge destination. +3. Both WEMIX bridges hold enough LINK for operational CCIP fees. +4. A small bridge test succeeds in both configuration and receipt. +5. The GRU v2 asset rollout plan for `1111` is explicitly wired, not just implied. +""" + + JSON_PATH.parent.mkdir(parents=True, exist_ok=True) + DOC_PATH.parent.mkdir(parents=True, exist_ok=True) + JSON_PATH.write_text(json.dumps(checklist, indent=2) + "\n") + DOC_PATH.write_text(markdown) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/comprehensive_capital_baseline.py b/scripts/lib/comprehensive_capital_baseline.py new file mode 100644 index 00000000..38b743c2 --- /dev/null +++ b/scripts/lib/comprehensive_capital_baseline.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +from pathlib import Path +import json, time +ROOT = Path(__file__).resolve().parents[2] +REPORTS = ROOT / "reports" / "extraction" +DOCS = ROOT / "docs" / "03-deployment" +CONFIG = ROOT / "config" / "extraction" + +def load(p): return json.loads(p.read_text()) +def write(p, data): p.parent.mkdir(parents=True, exist_ok=True); p.write_text(json.dumps(data, indent=2)+"\n") +def write_text(p, text): p.parent.mkdir(parents=True, exist_ok=True); p.write_text(text.rstrip()+"\n") +def now(): return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) +review = load(REPORTS / 'immediate-and-same-day-corridor-assets-latest.json') +plan = load(REPORTS / 'source-to-cex-execution-plan-latest.json') +ready = load(REPORTS / 'source-to-cex-production-readiness-latest.json') +validation_path = REPORTS / 'source-to-cex-offchain-sink-validation-latest.json' +validation = load(validation_path) if validation_path.exists() else None +inv = load(CONFIG / 'additional-wallet-inventory.json') +summary = { + 'generated_at': now(), + 'wallet': '0x4A666F96fC8764181194447A7dFdb7d471b301C8', + 'mainnet_funding_posture': plan.get('mainnet_funding_posture'), + 'scope': { + 'included_wallets': ['0x4A666F96fC8764181194447A7dFdb7d471b301C8'], + 'additional_wallet_inventory': 'config/extraction/additional-wallet-inventory.json', + 'additional_wallet_inventory_mode': 'user-supplied', + 'source_to_cex_policy': 'config/extraction/source-to-cex-production-policy.json', + 'source_to_cex_production_enabled': False + }, + 'net_worth_views_usd': { + 'near_immediate_mainnet_cw_exit': review['bucket_subtotals_usd']['immediate'], + 'same_day_corridor_total': review['bucket_subtotals_usd']['same_day_corridor'] + }, + 'additional_inventory': { + 'inventory_mode': 'user-supplied', + 'production_sinks': inv.get('offchain_accounts', []), + 'offchain_count': len(inv.get('offchain_accounts', [])), + 'offchain_sink_validation': validation + }, + 'source_artifacts': { + 'immediate_and_same_day_corridor_assets': 'reports/extraction/immediate-and-same-day-corridor-assets-latest.json', + 'source_to_cex_execution_plan': 'reports/extraction/source-to-cex-execution-plan-latest.json', + 'source_to_cex_production_readiness': 'reports/extraction/source-to-cex-production-readiness-latest.json', + 'source_to_cex_offchain_sink_validation': 'reports/extraction/source-to-cex-offchain-sink-validation-latest.json', + 'source_to_cex_production_policy': 'config/extraction/source-to-cex-production-policy.json', + 'additional_wallet_inventory': 'config/extraction/additional-wallet-inventory.json' + } +} +write(REPORTS / 'comprehensive-capital-baseline-latest.json', summary) +lines = ['# Comprehensive Capital Baseline','',f"- Generated: `{summary['generated_at']}`",f"- Additional inventory: `{summary['scope']['additional_wallet_inventory']}`",f"- Source-to-CEX policy: `{summary['scope']['source_to_cex_policy']}`",f"- Production enabled: `{summary['scope']['source_to_cex_production_enabled']}`"] +if summary.get('mainnet_funding_posture'): + lines.append(f"- Mainnet funding posture: `{summary['mainnet_funding_posture']['mode']}` via `{', '.join(summary['mainnet_funding_posture']['required_deployer_assets'])}`") +lines += ['', '## Snapshot','',f"- Immediate bucket USD: `{summary['net_worth_views_usd']['near_immediate_mainnet_cw_exit']}`",f"- Same-day corridor USD: `{summary['net_worth_views_usd']['same_day_corridor_total']}`"] +if validation: + lines += ['', '## Off-Chain Sink Validation', '', f"- Validation ready: `{validation['ready']}`", f"- Included sink count: `{validation['included_sink_count']}`"] +for warning in (validation or {}).get('warnings', []): + lines.append(f"- Warning: {warning}") +lines += ['', '## Source Artifacts', ''] +for k,v in summary['source_artifacts'].items(): lines.append(f'- `{k}`: `{v}`') +write_text(DOCS / 'COMPREHENSIVE_CAPITAL_BASELINE.md', '\n'.join(lines)) +print(REPORTS / 'comprehensive-capital-baseline-latest.json') diff --git a/scripts/lib/dump_cw_usd_quotes.py b/scripts/lib/dump_cw_usd_quotes.py new file mode 100644 index 00000000..0deb6e80 --- /dev/null +++ b/scripts/lib/dump_cw_usd_quotes.py @@ -0,0 +1,270 @@ +#!/usr/bin/env python3 +""" +Machine-readable dump of cW* tokens vs USD-like PMM quotes from deployment-status.json. + +Reads cross-chain-pmm-lps/config/deployment-status.json, finds pools where base == symbol +and quote is USDC/USDT/cWUSDC/cWUSDT, then calls getMidPrice and getVaultReserve on-chain. + +Usage: + python3 scripts/lib/dump_cw_usd_quotes.py [--output PATH] + +Requires: cast (foundry), RPC URLs in smom-dbis-138/.env (or env already exported). +""" + +from __future__ import annotations + +import argparse +import json +import os +import subprocess +import sys +from datetime import datetime, timezone +from decimal import Decimal +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +DEPLOYMENT_STATUS = ROOT / "cross-chain-pmm-lps" / "config" / "deployment-status.json" +DEFAULT_ENV = ROOT / "smom-dbis-138" / ".env" +DEFAULT_OUT = ROOT / "output" / "cw-assets-usd-quote-dump.json" + +CHAIN_RPC_ENV = { + "1": "ETHEREUM_MAINNET_RPC", + "10": "OPTIMISM_MAINNET_RPC", + "25": "CRONOS_RPC", + "56": "BSC_MAINNET_RPC", + "100": "GNOSIS_MAINNET_RPC", + "137": "POLYGON_MAINNET_RPC", + "42161": "ARBITRUM_MAINNET_RPC", + "42220": "CELO_MAINNET_RPC", + "43114": "AVALANCHE_MAINNET_RPC", + "8453": "BASE_MAINNET_RPC", + "138": "RPC_URL_138", +} + +USD_LIKE = frozenset({"USDC", "USDT", "cWUSDC", "cWUSDT"}) + + +def load_dotenv(path: Path) -> dict[str, str]: + out: dict[str, str] = {} + if not path.is_file(): + return out + for line in path.read_text().splitlines(): + line = line.strip() + if not line or line.startswith("#") or "=" not in line: + continue + k, v = line.split("=", 1) + out[k] = v + return out + + +def cast(env: dict[str, str], rpc: str, args: list[str], timeout: float = 12.0) -> tuple[str, int]: + try: + r = subprocess.run( + ["cast", *args, "--rpc-url", rpc], + capture_output=True, + text=True, + timeout=timeout, + env={**os.environ, **env}, + ) + return (r.stdout or "").strip(), r.returncode + except Exception as e: + return str(e), -1 + + +def parse_u256(s: str) -> int | None: + if not s: + return None + t = s.split()[0].strip() + if "[" in t: + t = t.split("[")[0] + if t.startswith("0x"): + return int(t, 16) + return int(float(t)) if "e" in t.lower() else int(t) + + +def find_usd_pool(ch: dict, sym: str) -> tuple[str | None, str | None]: + for src in ("pmmPools", "pmmPoolsVolatile"): + for p in ch.get(src) or []: + if p.get("base") != sym: + continue + q = p.get("quote") or "" + if q in USD_LIKE: + return p.get("poolAddress"), q + return None, None + + +def main() -> int: + ap = argparse.ArgumentParser() + ap.add_argument( + "--output", + "-o", + type=Path, + default=DEFAULT_OUT, + help=f"JSON output path (default: {DEFAULT_OUT})", + ) + ap.add_argument( + "--env-file", + type=Path, + default=DEFAULT_ENV, + help="Dotenv with RPC URLs", + ) + ap.add_argument( + "--deployment-status", + type=Path, + default=DEPLOYMENT_STATUS, + ) + args = ap.parse_args() + + env = {**os.environ, **load_dotenv(args.env_file)} + ds = json.loads(args.deployment_status.read_text()) + + dec_cache: dict[tuple[str, str], int] = {} + + def decimals(addr: str, rpc: str) -> int: + key = (rpc[:32], addr.lower()) + if key in dec_cache: + return dec_cache[key] + out, code = cast(env, rpc, ["call", addr, "decimals()(uint8)"]) + d = int(parse_u256(out)) if code == 0 and out else 18 + dec_cache[key] = d + return d + + entries: list[dict] = [] + gas_mirrors: list[dict] = [] + + for cid, ch in sorted(ds.get("chains", {}).items(), key=lambda x: int(x[0])): + rpc_key = CHAIN_RPC_ENV.get(cid) + rpc = (env.get(rpc_key) or "").strip() if rpc_key else "" + net = ch.get("name", cid) + + gm = ch.get("gasMirrors") or {} + for sym, addr in gm.items(): + if sym.startswith("cW"): + gas_mirrors.append( + { + "chain_id": int(cid), + "network": net, + "symbol": sym, + "token_address": addr, + } + ) + + if not rpc_key or not rpc: + for sym, addr in (ch.get("cwTokens") or {}).items(): + if not sym.startswith("cW"): + continue + entries.append( + { + "chain_id": int(cid), + "network": net, + "symbol": sym, + "token_address": addr, + "rpc_env": rpc_key, + "error": "rpc_env_missing_or_empty", + } + ) + continue + + for sym, addr in (ch.get("cwTokens") or {}).items(): + if not sym.startswith("cW"): + continue + pool, qlab = find_usd_pool(ch, sym) + row: dict = { + "chain_id": int(cid), + "network": net, + "symbol": sym, + "token_address": addr, + "rpc_env": rpc_key, + "quote_leg": qlab, + "pool_address": pool, + } + if not pool: + row["error"] = "no_usd_quoted_pool_in_deployment_status" + entries.append(row) + continue + + code, cok = cast(env, rpc, ["code", pool]) + if cok != 0 or not code or code == "0x": + row["error"] = "pool_no_bytecode" + entries.append(row) + continue + + bout, bok = cast(env, rpc, ["call", pool, "_BASE_TOKEN_()(address)"]) + qout, qok = cast(env, rpc, ["call", pool, "_QUOTE_TOKEN_()(address)"]) + if bok != 0 or qok != 0: + row["error"] = "not_dvm_abi" + entries.append(row) + continue + + base_a = bout.split()[0] + quote_a = qout.split()[0] + row["base_token_address"] = base_a + row["quote_token_address"] = quote_a + + bd = decimals(base_a, rpc) + qd = decimals(quote_a, rpc) + row["base_decimals"] = bd + row["quote_decimals"] = qd + + rv, rcode = cast(env, rpc, ["call", pool, "getVaultReserve()(uint256,uint256)"]) + vault_ratio: str | None = None + if rcode == 0 and rv: + nums: list[int] = [] + for p in rv.replace(",", " ").split(): + p = p.strip() + if p and (p[0].isdigit() or p.startswith("0x")): + try: + nums.append(parse_u256(p)) + except Exception: + pass + if len(nums) >= 2: + br, qr = nums[0], nums[1] + bh = Decimal(br) / Decimal(10**bd) + qh = Decimal(qr) / Decimal(10**qd) + if bh > 0: + vault_ratio = str((qh / bh).quantize(Decimal("1." + "0" * 18))) + + mp, mok = cast(env, rpc, ["call", pool, "getMidPrice()(uint256)"]) + mid_raw: str | None = None + mid_over_1e18: str | None = None + if mok == 0 and mp: + try: + m = parse_u256(mp) + mid_raw = str(m) + mid_over_1e18 = str((Decimal(m) / Decimal(10**18)).quantize(Decimal("1." + "0" * 18))) + except Exception as e: + row["mid_price_error"] = str(e) + + if vault_ratio is not None: + row["vault_implied_quote_per_base"] = vault_ratio + if mid_raw is not None: + row["mid_price_raw_uint"] = mid_raw + if mid_over_1e18 is not None: + row["mid_price_over_1e18"] = mid_over_1e18 + + if vault_ratio is None and mid_over_1e18 is None: + row["error"] = "mid_and_vault_unavailable" + + entries.append(row) + + payload = { + "schema_version": 1, + "generated_at": datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ"), + "source_file": str(args.deployment_status.relative_to(ROOT)), + "description": ( + "cW* cwTokens: PMM mid (getMidPrice) and vault-implied ratio vs USDC/USDT/cWUSDC/cWUSDT " + "from deployment-status pools. mid_price_over_1e18 is quote per base in human scale when " + "DODO uses 18-decimal mid; vault_implied_quote_per_base is quote_reserve/base_reserve." + ), + "gas_mirrors": gas_mirrors, + "entries": sorted(entries, key=lambda r: (r["symbol"], r["chain_id"])), + } + + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text(json.dumps(payload, indent=2) + "\n", encoding="utf-8") + print(str(args.output), file=sys.stderr) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/lib/elemental_imperium_wallet_common.py b/scripts/lib/elemental_imperium_wallet_common.py new file mode 100644 index 00000000..86642f8f --- /dev/null +++ b/scripts/lib/elemental_imperium_wallet_common.py @@ -0,0 +1,59 @@ +"""Shared helpers for Elemental Imperium 33×33×6 wallet matrix labeling.""" + +from __future__ import annotations + + +def linear_index(lpbca: int, branch: int, class_: int) -> int: + return lpbca * 198 + branch * 6 + class_ + + +def cell_id(lpbca: int, branch: int, class_: int) -> str: + return f"EI-L{lpbca:02d}-B{branch:02d}-C{class_}" + + +def build_label(network_code: str, cid: str, asn: int | None) -> str: + base = f"{network_code}.{cid}" + if asn is not None: + return f"{base}.AS{asn}" + return base + + +def match_range_rule(wallet: dict, match: dict) -> bool: + """Each key in match is [min, max] inclusive for lpbca, branch, class. Empty {} matches all.""" + dims = ("lpbca", "branch", "class") + for d in dims: + if d not in match: + continue + pair = match[d] + if not isinstance(pair, list) or len(pair) != 2: + raise ValueError(f"match.{d} must be [min, max]") + lo, hi = int(pair[0]), int(pair[1]) + v = int(wallet[d]) + if not (lo <= v <= hi): + return False + return True + + +def resolve_network_asn( + wallet: dict, + cid: str, + base_network: str, + base_asn: int | None, + overlay: dict | None, +) -> tuple[str, int | None]: + """Apply rangeRules (first match wins), then cellOverrides.""" + net, asn = base_network, base_asn + if overlay: + for rule in overlay.get("rangeRules", []): + if match_range_rule(wallet, rule.get("match") or {}): + net = rule["networkCode"] + if "asn" in rule: + asn = rule["asn"] + break + ovr = overlay.get("cellOverrides", {}).get(cid) + if isinstance(ovr, dict): + if "networkCode" in ovr: + net = ovr["networkCode"] + if "asn" in ovr: + asn = ovr["asn"] + return net, asn diff --git a/scripts/lib/execute_promod_uniswap_v2_phase2_wave2_live_subset.py b/scripts/lib/execute_promod_uniswap_v2_phase2_wave2_live_subset.py new file mode 100644 index 00000000..48a68fa9 --- /dev/null +++ b/scripts/lib/execute_promod_uniswap_v2_phase2_wave2_live_subset.py @@ -0,0 +1,211 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import os +import subprocess +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +DEPLOYMENT_STATUS = ROOT / "cross-chain-pmm-lps" / "config" / "deployment-status.json" +WAVE2 = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-wave2-operator-sequence-latest.json" + +STABLE_RAW = 1_000_000_000 +ASSET_RAW = { + "cWCADC": 1_350_000_000, + "cWCHFC": 850_000_000, + "cWEURT": 900_000_000, + "cWGBPT": 750_000_000, + "cWJPYC": 150_000_000_000, + "cWXAUC": 300_000, + "cWXAUT": 300_000, + "cWAUSDT": 1_500_000_000, + "cWUSDW": 1_000_000_000, +} +SKIP_ASSETS = {"cWBTC"} +MAX_UINT = str(2**256 - 1) + +RPC_ENV_KEYS = { + 1: ["ALL_MAINNET_RPC", "ETHEREUM_MAINNET_RPC"], + 10: ["OPTIMISM_MAINNET_RPC", "OPTIMISM_RPC_URL"], + 25: ["CRONOS_MAINNET_RPC", "CRONOS_RPC_URL", "CRONOS_RPC"], + 56: ["BSC_MAINNET_RPC", "BSC_RPC_URL"], + 100: ["GNOSIS_MAINNET_RPC", "GNOSIS_RPC_URL", "GNOSIS_RPC"], + 137: ["POLYGON_MAINNET_RPC", "POLYGON_RPC_URL"], + 8453: ["BASE_MAINNET_RPC", "BASE_RPC_URL"], + 42161: ["ARBITRUM_MAINNET_RPC", "ARBITRUM_RPC_URL"], + 42220: ["CELO_MAINNET_RPC", "CELO_RPC_URL", "CELO_RPC"], + 43114: ["AVALANCHE_MAINNET_RPC", "AVALANCHE_RPC_URL"], +} + + +def load_json(path: Path): + return json.loads(path.read_text()) + + +def run(cmd: list[str], check: bool = True) -> str: + print("+", " ".join(cmd), flush=True) + proc = subprocess.run(cmd, text=True, capture_output=True) + if proc.stdout: + print(proc.stdout.strip(), flush=True) + if proc.stderr: + print(proc.stderr.strip(), file=sys.stderr, flush=True) + if check and proc.returncode != 0: + raise RuntimeError(f"command failed: {' '.join(cmd)}") + return proc.stdout.strip() + + +def cast_call(rpc: str, to: str, sig: str, *args: str) -> str: + return run(["cast", "call", to, sig, *args, "--rpc-url", rpc]) + + +def cast_send(rpc: str, pk: str, to: str, sig: str, *args: str) -> str: + return run(["cast", "send", to, sig, *args, "--rpc-url", rpc, "--private-key", pk]) + + +def parse_uint(value: str) -> int: + # `cast` may append a human-readable hint like `1005375 [1.005e6]`. + return int(value.strip().split()[0]) + + +def resolve_rpc(chain_id: int) -> str: + for key in RPC_ENV_KEYS.get(chain_id, []): + value = os.environ.get(key) + if value: + return value + raise RuntimeError(f"missing RPC env for chain {chain_id}") + + +def parse_chain_list(value: str | None) -> set[int]: + if not value: + return set() + result: set[int] = set() + for part in value.split(","): + part = part.strip() + if not part: + continue + result.add(int(part)) + return result + + +def chain_status(chain_id: int, status: dict) -> dict: + return status["chains"][str(chain_id)] + + +def token_addr(chain: dict, symbol: str) -> str: + value = chain["cwTokens"][symbol] + if isinstance(value, dict): + return value.get("address") or value.get("token") + return value + + +def has_code(rpc: str, address: str) -> bool: + code = run(["cast", "code", address, "--rpc-url", rpc], check=False).strip() + return code not in ("", "0x") + + +def balance_of(rpc: str, token: str, owner: str) -> int: + return parse_uint(cast_call(rpc, token, "balanceOf(address)(uint256)", owner)) + + +def allowance_of(rpc: str, token: str, owner: str, spender: str) -> int: + return parse_uint(cast_call(rpc, token, "allowance(address,address)(uint256)", owner, spender)) + + +def ensure_mint_balance(rpc: str, pk: str, token: str, owner: str, needed: int) -> None: + current = balance_of(rpc, token, owner) + if current >= needed: + return + shortfall = needed - current + cast_send(rpc, pk, token, "mint(address,uint256)", owner, str(shortfall)) + + +def ensure_approval(rpc: str, pk: str, token: str, owner: str, router: str, needed: int) -> None: + current = allowance_of(rpc, token, owner, router) + if current >= needed: + return + cast_send(rpc, pk, token, "approve(address,uint256)(bool)", router, MAX_UINT) + + +def pair_for(rpc: str, factory: str, a: str, b: str) -> str: + return cast_call(rpc, factory, "getPair(address,address)(address)", a, b) + + +def ensure_pair(rpc: str, pk: str, factory: str, a: str, b: str) -> None: + pair = pair_for(rpc, factory, a, b) + if pair.lower() != "0x0000000000000000000000000000000000000000": + return + cast_send(rpc, pk, factory, "createPair(address,address)(address)", a, b) + + +def add_liquidity(rpc: str, pk: str, router: str, a: str, b: str, amt_a: int, amt_b: int, signer: str) -> None: + deadline = str(int(run(["date", "+%s"])) + 3600) + cast_send( + rpc, + pk, + router, + "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)", + a, + b, + str(amt_a), + str(amt_b), + str(amt_a), + str(amt_b), + signer, + deadline, + ) + + +def main() -> None: + pk = os.environ.get("PRIVATE_KEY") + if not pk: + raise RuntimeError("PRIVATE_KEY missing") + signer = run(["cast", "wallet", "address", "--private-key", pk]) + status = load_json(DEPLOYMENT_STATUS) + wave2 = load_json(WAVE2) + skip_chains = parse_chain_list(os.environ.get("SKIP_CHAINS")) + start_chain = int(os.environ.get("START_CHAIN", "0")) + + for entry in wave2["entries"]: + chain_id = entry["chain_id"] + if chain_id < start_chain or chain_id in skip_chains: + print(f"SKIP CHAIN {chain_id}: filtered", flush=True) + continue + rpc = resolve_rpc(chain_id) + chain = chain_status(chain_id, status) + factory = os.environ[f"CHAIN_{chain_id}_UNISWAP_V2_FACTORY"] + router = os.environ[f"CHAIN_{chain_id}_UNISWAP_V2_ROUTER"] + print(f"\n=== CHAIN {chain_id} {entry['network']} ===", flush=True) + try: + active_assets = [a for a in entry["remaining_wrapped_mesh_assets_after_wave1"] if a not in SKIP_ASSETS] + needed_stable = len(active_assets) * STABLE_RAW + + cwusdc = token_addr(chain, "cWUSDC") + cwusdt = token_addr(chain, "cWUSDT") + ensure_mint_balance(rpc, pk, cwusdc, signer, needed_stable) + ensure_mint_balance(rpc, pk, cwusdt, signer, needed_stable) + ensure_approval(rpc, pk, cwusdc, signer, router, needed_stable) + ensure_approval(rpc, pk, cwusdt, signer, router, needed_stable) + + for asset in active_assets: + if asset not in ASSET_RAW: + raise RuntimeError(f"no amount rule for {asset}") + addr = token_addr(chain, asset) + if not has_code(rpc, addr): + print(f"SKIP {chain_id} {asset}: no code", flush=True) + continue + needed_asset = ASSET_RAW[asset] * 2 + ensure_mint_balance(rpc, pk, addr, signer, needed_asset) + ensure_approval(rpc, pk, addr, signer, router, needed_asset) + + for stable_symbol, stable_addr in [("cWUSDC", cwusdc), ("cWUSDT", cwusdt)]: + ensure_pair(rpc, pk, factory, addr, stable_addr) + add_liquidity(rpc, pk, router, addr, stable_addr, ASSET_RAW[asset], STABLE_RAW, signer) + except RuntimeError as exc: + print(f"BLOCKED CHAIN {chain_id}: {exc}", flush=True) + continue + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_gru_v2_full_mesh_gap_report.py b/scripts/lib/promod_gru_v2_full_mesh_gap_report.py new file mode 100644 index 00000000..fa93536e --- /dev/null +++ b/scripts/lib/promod_gru_v2_full_mesh_gap_report.py @@ -0,0 +1,318 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +DEPLOYMENT_STATUS = ROOT / "cross-chain-pmm-lps" / "config" / "deployment-status.json" +PHASE2_WAVE1 = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-wave1-completion-status-latest.json" +REPORT = ROOT / "reports" / "extraction" / "promod-gru-v2-full-mesh-gap-report-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_GRU_V2_FULL_MESH_GAP_REPORT.md" + +TARGET_CHAIN_IDS = [1, 10, 25, 56, 100, 137, 8453, 42161, 42220, 43114] +CORE_ASSETS = {"cWUSDC", "cWUSDT"} + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load_json(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 chain_entry(status: dict, chain_id: int) -> dict: + return status["chains"][str(chain_id)] + + +def cw_assets(chain: dict) -> list[str]: + return sorted(symbol for symbol in chain.get("cwTokens", {}) if symbol.startswith("cW")) + + +def pmm_live_pairs(chain: dict) -> list[str]: + pairs = [] + for pool in chain.get("pmmPools", []): + base = pool.get("base") + quote = pool.get("quote") + if isinstance(base, str) and base.startswith("cW"): + pairs.append(f"{base}/{quote}") + return sorted(set(pairs)) + + +def pmm_live_assets(chain: dict) -> list[str]: + assets = [] + for pool in chain.get("pmmPools", []): + base = pool.get("base") + if isinstance(base, str) and base.startswith("cW"): + assets.append(base) + return sorted(set(assets)) + + +def uniswap_v2_core_pairs(chain: dict) -> list[str]: + pairs = [] + for pool in chain.get("uniswapV2Pools", []): + base = pool.get("base") + quote = pool.get("quote") + if isinstance(base, str) and isinstance(quote, str): + pairs.append(f"{base}/{quote}") + return sorted(set(pairs)) + + +def phase2_wave1_map(payload: dict) -> dict[int, list[dict]]: + by_chain: dict[int, list[dict]] = {} + for entry in payload.get("chains", []): + by_chain[entry["chain_id"]] = entry.get("wave1_pairs", []) + return by_chain + + +def wave1_pairs_for_chain(by_chain: dict[int, list[dict]], chain_id: int) -> list[str]: + return sorted({row["pair"] for row in by_chain.get(chain_id, [])}) + + +def wave1_assets_for_chain(by_chain: dict[int, list[dict]], chain_id: int) -> list[str]: + assets = set() + for row in by_chain.get(chain_id, []): + left, right = row["pair"].split("/") + if left.startswith("cW"): + assets.add(left) + if right.startswith("cW"): + assets.add(right) + return sorted(assets) + + +def ref_status(chain: dict, protocol: str) -> dict: + rows = [row for row in chain.get("gasReferenceVenues", []) if row.get("protocol") == protocol] + supported = any(row.get("supported") is True for row in rows) + live = any(row.get("live") is True for row in rows) + routing_visible = any(row.get("routingVisible") is True for row in rows) + if live: + status = "live" + elif supported: + status = "reference_only" + else: + status = "unsupported" + return { + "status": status, + "supported": supported, + "live": live, + "routing_visible": routing_visible, + "rows": rows, + } + + +def remaining_mesh_assets(chain_assets: list[str], wave1_assets: list[str]) -> list[str]: + done = CORE_ASSETS | set(wave1_assets) + return sorted(asset for asset in chain_assets if asset not in done) + + +def recommended_pairs(assets: list[str]) -> list[str]: + pairs = [] + for asset in assets: + if asset == "cWUSDC": + continue + pairs.append(f"{asset}/cWUSDC") + if asset != "cWUSDT": + pairs.append(f"{asset}/cWUSDT") + return pairs + + +def main() -> None: + deployment_status = load_json(DEPLOYMENT_STATUS) + phase2_wave1 = load_json(PHASE2_WAVE1) + wave1_by_chain = phase2_wave1_map(phase2_wave1) + + chain_rows = [] + balancer_live = 0 + curve_live = 0 + uniswap_v3_live = 0 + + for chain_id in TARGET_CHAIN_IDS: + chain = chain_entry(deployment_status, chain_id) + assets = cw_assets(chain) + pmm_pairs = pmm_live_pairs(chain) + pmm_assets = pmm_live_assets(chain) + uv2_core_pairs = uniswap_v2_core_pairs(chain) + uv2_wave1_pairs = wave1_pairs_for_chain(wave1_by_chain, chain_id) + uv2_wave1_assets = wave1_assets_for_chain(wave1_by_chain, chain_id) + remaining_assets = remaining_mesh_assets(assets, uv2_wave1_assets) + + balancer = ref_status(chain, "balancer") + curve = ref_status(chain, "curve") + uniswap_v3 = ref_status(chain, "uniswap_v3") + oneinch = ref_status(chain, "1inch") + + if balancer["live"]: + balancer_live += 1 + if curve["live"]: + curve_live += 1 + if uniswap_v3["live"]: + uniswap_v3_live += 1 + + chain_rows.append( + { + "chain_id": chain_id, + "network": chain["name"], + "bridge_available": chain.get("bridgeAvailable", False), + "cw_asset_count": len(assets), + "cw_assets": assets, + "venue_status": { + "dodo_pmm": { + "status": "live" if pmm_pairs else "not_recorded", + "live_pair_count": len(pmm_pairs), + "live_pairs": pmm_pairs, + "live_asset_count": len(pmm_assets), + "live_assets": pmm_assets, + }, + "uniswap_v2": { + "status": "wave1_live" if uv2_wave1_pairs else ("core_only" if uv2_core_pairs else "not_recorded"), + "core_pair_count": len(uv2_core_pairs), + "core_pairs": uv2_core_pairs, + "wave1_pair_count": len(uv2_wave1_pairs), + "wave1_pairs": uv2_wave1_pairs, + "wave1_asset_count": len(uv2_wave1_assets), + "wave1_assets": uv2_wave1_assets, + }, + "balancer": balancer, + "curve": curve, + "uniswap_v3": uniswap_v3, + "oneinch": oneinch, + }, + "remaining_wrapped_mesh_assets_after_wave1": remaining_assets, + "recommended_next_wrapped_mesh_pairs": recommended_pairs(remaining_assets), + } + ) + + payload = { + "generated_at": now(), + "program_name": "promod-gru-v2-full-mesh-gap-report", + "purpose": "Strict per-network GRU v2 cW* mesh report showing what is already live on DODO PMM and Uniswap V2, and what remains before Balancer/Curve-style venue expansion becomes meaningful.", + "accounting_split_rule": { + "source_balance_fraction_to_move": "75%", + "destination_network_count": 10, + "per_chain_fraction_of_current_source_balance": "7.5%", + "base_unit_rule": "amount_75 = balance * 75 // 100; per_chain = amount_75 // 10; remainder stays on Chain 138 or is adjusted on the last transfer", + }, + "repo_reality": { + "chain138_generic_source_to_all_destinations": "not_available_as_single_generic_bridge_button", + "supported_pattern": "destination cW deployment plus lock/mint bridge or destination-side minting through the CW bridge program where selectors, mappings, and destination receivers are actually configured", + "venue_summary": { + "dodo_pmm": "live cW asset pools are recorded across the public network set", + "uniswap_v2": "live core rail is recorded in deployment-status; live wave-1 wrapped mesh completion is tracked separately in the phase-2 completion report", + "balancer": "currently modeled as reference or planned venue surface, not a live cW asset mesh deployment set", + "curve": "currently modeled as reference or planned venue surface, not a live cW asset mesh deployment set", + "uniswap_v3": "currently modeled as reference surface in deployment-status gasReferenceVenues", + "oneinch": "aggregator visibility surface only, not a pool deployment venue", + }, + }, + "network_summary": { + "target_chain_ids": TARGET_CHAIN_IDS, + "dodo_pmm_live_chain_count": sum(1 for row in chain_rows if row["venue_status"]["dodo_pmm"]["live_pair_count"] > 0), + "uniswap_v2_wave1_complete_chain_count": sum(1 for row in chain_rows if row["venue_status"]["uniswap_v2"]["wave1_pair_count"] > 0), + "balancer_live_chain_count": balancer_live, + "curve_live_chain_count": curve_live, + "uniswap_v3_live_chain_count": uniswap_v3_live, + }, + "chains": chain_rows, + "source_artifacts": [ + "cross-chain-pmm-lps/config/deployment-status.json", + "reports/extraction/promod-uniswap-v2-phase2-wave1-completion-status-latest.json", + "config/token-mapping-multichain.json", + "docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod GRU v2 Full Mesh Gap Report", + "", + f"- Generated: `{payload['generated_at']}`", + f"- Program: `{payload['program_name']}`", + "- Purpose: strict per-network report for the remaining GRU v2 `cW*` mesh across DODO PMM, Uniswap V2, Balancer, Curve, and related venue surfaces.", + "", + "## Accounting Rule", + "", + f"- Source balance fraction to move: `{payload['accounting_split_rule']['source_balance_fraction_to_move']}`", + f"- Destination network count: `{payload['accounting_split_rule']['destination_network_count']}`", + f"- Per-chain fraction of current source balance: `{payload['accounting_split_rule']['per_chain_fraction_of_current_source_balance']}`", + f"- Base unit rule: `{payload['accounting_split_rule']['base_unit_rule']}`", + "", + "## Repo Reality", + "", + f"- Chain 138 generic source-to-all-destinations bridge: `{payload['repo_reality']['chain138_generic_source_to_all_destinations']}`", + f"- Supported pattern: {payload['repo_reality']['supported_pattern']}", + "- Venue summary:", + f" - DODO PMM: {payload['repo_reality']['venue_summary']['dodo_pmm']}", + f" - Uniswap V2: {payload['repo_reality']['venue_summary']['uniswap_v2']}", + f" - Balancer: {payload['repo_reality']['venue_summary']['balancer']}", + f" - Curve: {payload['repo_reality']['venue_summary']['curve']}", + f" - Uniswap V3: {payload['repo_reality']['venue_summary']['uniswap_v3']}", + f" - 1inch: {payload['repo_reality']['venue_summary']['oneinch']}", + "", + "## Network Summary", + "", + f"- DODO PMM live chain count: `{payload['network_summary']['dodo_pmm_live_chain_count']}` / `10`", + f"- Uniswap V2 wave-1 complete chain count: `{payload['network_summary']['uniswap_v2_wave1_complete_chain_count']}` / `10`", + f"- Balancer live chain count: `{payload['network_summary']['balancer_live_chain_count']}` / `10`", + f"- Curve live chain count: `{payload['network_summary']['curve_live_chain_count']}` / `10`", + f"- Uniswap V3 live chain count: `{payload['network_summary']['uniswap_v3_live_chain_count']}` / `10`", + "", + "| Chain | Network | Bridge | DODO PMM | Uniswap V2 | Balancer | Curve | Remaining Mesh Assets After Wave 1 |", + "|---|---|---|---|---|---|---|---|", + ] + + for row in chain_rows: + lines.append( + f"| `{row['chain_id']}` | {row['network']} | `{row['bridge_available']}` | " + f"`{row['venue_status']['dodo_pmm']['live_pair_count']} live` | " + f"`{row['venue_status']['uniswap_v2']['wave1_pair_count']} wave-1 pairs` | " + f"`{row['venue_status']['balancer']['status']}` | " + f"`{row['venue_status']['curve']['status']}` | " + f"{', '.join(f'`{asset}`' for asset in row['remaining_wrapped_mesh_assets_after_wave1']) or '`none`'} |" + ) + + lines.extend(["", "## Per-Network Detail", ""]) + for row in chain_rows: + lines.append(f"### Chain `{row['chain_id']}` — {row['network']}") + lines.append("") + lines.append(f"- Bridge available: `{row['bridge_available']}`") + lines.append(f"- cW assets: {', '.join(f'`{asset}`' for asset in row['cw_assets'])}") + lines.append("") + lines.append(f"- DODO PMM live pairs: `{row['venue_status']['dodo_pmm']['live_pair_count']}`") + if row["venue_status"]["dodo_pmm"]["live_pairs"]: + lines.append(f" - {', '.join(f'`{pair}`' for pair in row['venue_status']['dodo_pmm']['live_pairs'])}") + lines.append(f"- Uniswap V2 core pairs: `{row['venue_status']['uniswap_v2']['core_pair_count']}`") + if row["venue_status"]["uniswap_v2"]["core_pairs"]: + lines.append(f" - {', '.join(f'`{pair}`' for pair in row['venue_status']['uniswap_v2']['core_pairs'])}") + lines.append(f"- Uniswap V2 wave-1 pairs: `{row['venue_status']['uniswap_v2']['wave1_pair_count']}`") + if row["venue_status"]["uniswap_v2"]["wave1_pairs"]: + lines.append(f" - {', '.join(f'`{pair}`' for pair in row['venue_status']['uniswap_v2']['wave1_pairs'])}") + lines.append(f"- Balancer status: `{row['venue_status']['balancer']['status']}`") + lines.append(f"- Curve status: `{row['venue_status']['curve']['status']}`") + lines.append(f"- Uniswap V3 status: `{row['venue_status']['uniswap_v3']['status']}`") + lines.append(f"- 1inch status: `{row['venue_status']['oneinch']['status']}`") + lines.append( + f"- Remaining wrapped mesh assets after wave 1: {', '.join(f'`{asset}`' for asset in row['remaining_wrapped_mesh_assets_after_wave1']) or '`none`'}" + ) + lines.append( + f"- Recommended next wrapped mesh pairs: {', '.join(f'`{pair}`' for pair in row['recommended_next_wrapped_mesh_pairs']) or '`none`'}" + ) + lines.append("") + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_first_deployment_matrix.py b/scripts/lib/promod_uniswap_v2_first_deployment_matrix.py new file mode 100644 index 00000000..7e52c97c --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_first_deployment_matrix.py @@ -0,0 +1,186 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +from pathlib import Path +import json +import time + +ROOT = Path(__file__).resolve().parents[2] +PROMOD_REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-liquidity-program-latest.json" +PROMOTION_GATES = ROOT / "reports" / "extraction" / "promod-uniswap-v2-promotion-gates-latest.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-first-deployment-target-matrix-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_FIRST_DEPLOYMENT_TARGET_MATRIX.md" +CORE_RAILS = {"cWUSDC", "cWUSDT", "cWAUSDT"} + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, indent=2) + "\n") + + +def write_text(path: Path, text: str): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text.rstrip() + "\n") + + +def choose_first_pair(entry: dict) -> str: + settlement = entry.get("settlement_phase_pairs", []) + wrapped = entry.get("wrapped_depth_phase_pairs", []) + if "cWUSDT/cWUSDC" in wrapped: + return "cWUSDT/cWUSDC" + if "cWAUSDT/cWUSDT" in wrapped: + return "cWAUSDT/cWUSDT" + if "cWAUSDT/cWUSDC" in wrapped: + return "cWAUSDT/cWUSDC" + hub = entry.get("hub_stable") + if hub == "USDT" and "cWUSDT/USDT" in settlement: + return "cWUSDT/USDT" + if hub == "USDC" and "cWUSDC/USDC" in settlement: + return "cWUSDC/USDC" + if settlement: + return settlement[0] + if wrapped: + return wrapped[0] + return "" + + +def why_first(entry: dict, pair: str) -> str: + documented = set(entry.get("documented_cw_tokens", [])) + + if pair == "cWUSDT/cWUSDC": + if "cWAUSDT" in documented: + return "Core wrapped support rail and the one we are standardizing on first; it creates transferable depth between the two settlement-adjacent cW rails before any canonical stable exit pool." + return "Core wrapped support rail and the fixed first deployment target where cWUSDT and cWUSDC are already documented." + if pair == "cWAUSDT/cWUSDT": + return "Fallback wrapped-first rail when cWUSDT/cWUSDC is unavailable but cWAUSDT and cWUSDT are both documented." + if pair == "cWAUSDT/cWUSDC": + return "Fallback wrapped-first rail when cWUSDT/cWUSDC is unavailable but cWAUSDT and cWUSDC are both documented." + hub = entry["hub_stable"] + if pair == "cWUSDT/USDT" and hub == "USDT": + return "Fallback canonical settlement rail only for a USDT-hub chain that cannot yet open with cWUSDT/cWUSDC." + if pair == "cWUSDC/USDC" and hub == "USDC": + return "Fallback canonical settlement rail only for a USDC-hub chain that cannot yet open with cWUSDT/cWUSDC." + if pair.startswith("cWAUSDT/"): + return "cWAUSDT is documented on this chain, but the first pool should still be a support or settlement rail before cWAUSDT expansion." + return "First deployable rail selected from the current program ordering." + + +def post_deploy_commands(chain_id: int) -> list[str]: + return [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh", + ] + + +def build_next_expansion_pairs(entry: dict) -> list[str]: + documented = entry.get("documented_cw_tokens", []) + extras = [token for token in documented if token not in CORE_RAILS] + pairs: list[str] = [] + for token in extras: + if "cWUSDC" in documented: + pairs.append(f"{token}/cWUSDC") + if "cWUSDT" in documented: + pairs.append(f"{token}/cWUSDT") + return pairs + + +def main(): + promod = load(PROMOD_REPORT) + gates = load(PROMOTION_GATES) + gates_by_chain = {entry["chain_id"]: entry for entry in gates["entries"]} + + entries = [] + for entry in promod["entries"]: + chain_id = entry["chain_id"] + first_pair = choose_first_pair(entry) + token_a, token_b = first_pair.split("/") if first_pair else ("", "") + gate = gates_by_chain.get(chain_id, {}) + remaining = [ + blocker + for blocker in gate.get("blocking_items", []) + if "cWAUSDT is not currently documented" not in blocker + ] + additional_tokens = [token for token in entry.get("documented_cw_tokens", []) if token not in CORE_RAILS] + next_pairs = build_next_expansion_pairs(entry) + entries.append( + { + "chain_id": chain_id, + "network": entry["network"], + "tier": entry["tier"], + "hub_stable": entry["hub_stable"], + "first_pair": first_pair, + "why_it_should_be_first": why_first(entry, first_pair), + "required_tokens": [token_a, token_b], + "other_gru_v2_cw_tokens": additional_tokens, + "next_wrapped_expansion_pairs": next_pairs, + "required_token_addresses_present": [token_a in entry.get("documented_cw_tokens", []) or token_a in {"USDC", "USDT"}, + token_b in entry.get("documented_cw_tokens", []) or token_b in {"USDC", "USDT"}], + "chain_ready_for_deploy_prep": gate.get("env_values_present", False) and gate.get("promotion_gate", {}).get("indexer_support_present", False), + "remaining_live_blockers": remaining, + "post_deploy_commands": post_deploy_commands(chain_id), + } + ) + + payload = { + "generated_at": now(), + "program_name": promod["program_name"], + "purpose": "Exact first-pair deployment target matrix for Mr. Promod's Uniswap V2 rollout.", + "mainnet_funding_posture": promod["mainnet_funding_posture"], + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-liquidity-program-latest.json", + "reports/extraction/promod-uniswap-v2-promotion-gates-latest.json", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 First Deployment Target Matrix", + "", + f"- Generated: `{payload['generated_at']}`", + f"- Program: {payload['program_name']}", + f"- Mainnet funding posture: `{payload['mainnet_funding_posture']['mode']}` via `{', '.join(payload['mainnet_funding_posture']['required_deployer_assets'])}`", + "- Purpose: choose the first pair per chain so the first live pool rollout is concrete rather than generic.", + "", + "| Chain | Network | First Pair | Why It Should Be First | Required Tokens | Other GRU v2 cW* Tokens | Next Wrapped Expansion Pairs | Post-Deploy Commands |", + "|---|---|---|---|---|---|---|---|", + ] + + for entry in entries: + commands = "
".join(f"`{cmd}`" for cmd in entry["post_deploy_commands"]) + required = ", ".join(f"`{token}`" for token in entry["required_tokens"] if token) + extras = ", ".join(f"`{token}`" for token in entry["other_gru_v2_cw_tokens"]) or "—" + next_pairs = ", ".join(f"`{pair}`" for pair in entry["next_wrapped_expansion_pairs"][:8]) or "—" + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | `{entry['first_pair']}` | {entry['why_it_should_be_first']} | {required} | {extras} | {next_pairs} | {commands} |" + ) + + lines.extend( + [ + "", + "## Selection Rule", + "", + "- First choice is always `cWUSDT/cWUSDC` when both rails are documented on the chain.", + "- If `cWUSDT/cWUSDC` is unavailable, prefer a wrapped-first fallback before opening a canonical settlement rail.", + "- The other documented GRU v2 `cW*` assets expand next as wrapped pairs against `cWUSDC` and `cWUSDT`.", + "- Canonical settlement rails such as `cWUSDC/USDC` or `cWUSDT/USDT` become the first target only when the chain cannot open with the wrapped support rail.", + "- `cWAUSDT` remains a wrapped-depth support asset, not the default first target, unless it is required as the only viable wrapped-first fallback.", + ] + ) + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_liquidity_program.py b/scripts/lib/promod_uniswap_v2_liquidity_program.py new file mode 100644 index 00000000..cbca8f8f --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_liquidity_program.py @@ -0,0 +1,203 @@ +#!/usr/bin/env python3 +from pathlib import Path +import json +import time + +ROOT = Path(__file__).resolve().parents[2] +POOL_MATRIX = ROOT / "cross-chain-pmm-lps" / "config" / "pool-matrix.json" +DEPLOYMENT_STATUS = ROOT / "cross-chain-pmm-lps" / "config" / "deployment-status.json" +POLICY = ROOT / "config" / "extraction" / "promod-uniswap-v2-liquidity-policy.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-liquidity-program-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_LIQUIDITY_PROGRAM.md" + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, indent=2) + "\n") + + +def write_text(path: Path, text: str): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text.rstrip() + "\n") + + +def now(): + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def tier_for(chain_id: str, tiers: dict) -> str: + for tier_name, chain_ids in tiers.items(): + if chain_id in chain_ids: + return tier_name + return "unassigned" + + +CORE_RAILS = {"cWUSDC", "cWUSDT", "cWAUSDT"} + + +def build_additional_gru_pairs(cw_symbols: list[str]) -> list[str]: + extras = [symbol for symbol in cw_symbols if symbol not in CORE_RAILS] + pairs: list[str] = [] + for symbol in extras: + if "cWUSDC" in cw_symbols: + pairs.append(f"{symbol}/cWUSDC") + if "cWUSDT" in cw_symbols: + pairs.append(f"{symbol}/cWUSDT") + return pairs + + +def main(): + matrix = load(POOL_MATRIX) + status = load(DEPLOYMENT_STATUS) + policy = load(POLICY) + + entries = [] + tier_counts = {} + + for chain_id in sorted(matrix["chains"].keys(), key=lambda c: int(c)): + chain_matrix = matrix["chains"][chain_id] + chain_status = status["chains"].get(chain_id) + if not chain_status or not chain_status.get("bridgeAvailable"): + continue + + cw_tokens = chain_status.get("cwTokens", {}) + cw_symbols = sorted(cw_tokens.keys()) + additional_gru_tokens = [symbol for symbol in cw_symbols if symbol not in CORE_RAILS] + hub = chain_matrix.get("hubStable") + pools_first = chain_matrix.get("poolsFirst", []) + existing_pairs = sorted( + { + f"{pool.get('base')}/{pool.get('quote')}" + for pool in (chain_status.get("pmmPools") or []) + if pool.get("base") and pool.get("quote") + } + ) + + wrapped_pairs = [] + if "cWAUSDT" in cw_tokens and "cWUSDC" in cw_tokens: + wrapped_pairs.append("cWAUSDT/cWUSDC") + if "cWAUSDT" in cw_tokens and "cWUSDT" in cw_tokens: + wrapped_pairs.append("cWAUSDT/cWUSDT") + if "cWUSDT" in cw_tokens and "cWUSDC" in cw_tokens: + wrapped_pairs.append("cWUSDT/cWUSDC") + additional_wrapped_pairs = build_additional_gru_pairs(cw_symbols) + + settlement_candidates = [] + for symbol in ("cWUSDC", "cWUSDT", "cWAUSDT"): + pair = f"{symbol}/{hub}" + if symbol in cw_tokens and pair in pools_first: + settlement_candidates.append(pair) + + blockers = [ + "Uniswap V2 factory/router addresses are not documented in-repo for this chain; env-backed deployment or factory mapping is still required.", + "New Uniswap V2 pools must be added to token-aggregation indexing and MCP/API visibility before promotion." + ] + if "cWAUSDT" not in cw_tokens: + blockers.append("cWAUSDT is not currently documented on this chain, so wrapped-depth phase is limited to cWUSDT/cWUSDC.") + if not settlement_candidates: + blockers.append("No canonical settlement candidate from the current pool-matrix matched the documented cW token set.") + + tier = tier_for(chain_id, policy["priority_tiers"]) + tier_counts[tier] = tier_counts.get(tier, 0) + 1 + + entries.append( + { + "chain_id": int(chain_id), + "network": chain_matrix.get("name"), + "tier": tier, + "hub_stable": hub, + "bridge_available": True, + "documented_cw_tokens": cw_symbols, + "additional_gru_v2_cw_tokens": additional_gru_tokens, + "wrapped_depth_phase_pairs": wrapped_pairs, + "additional_wrapped_depth_pairs": additional_wrapped_pairs, + "settlement_phase_pairs": settlement_candidates, + "existing_pmm_analogs": [ + pair + for pair in existing_pairs + if pair in wrapped_pairs or pair in settlement_candidates or pair in additional_wrapped_pairs + ], + "uniswap_v2_deployment_status": "planned", + "required_uniswap_v2_env_suffixes": policy["uniswap_v2_requirements"]["required_env_suffixes"], + "blockers": blockers + } + ) + + payload = { + "generated_at": now(), + "program_name": policy["program_name"], + "purpose": policy["purpose"], + "operator_rule": policy["operator_rule"], + "mainnet_funding_posture": policy["mainnet_funding_posture"], + "wrapped_depth_phase": policy["wrapped_depth_phase"], + "settlement_phase": policy["settlement_phase"], + "priority_tiers": policy["priority_tiers"], + "tier_counts": tier_counts, + "registry_sources": [ + "cross-chain-pmm-lps/config/pool-matrix.json", + "cross-chain-pmm-lps/config/deployment-status.json", + "config/extraction/promod-uniswap-v2-liquidity-policy.json" + ], + "entries": entries + } + + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Liquidity Program", + "", + f"- Generated: `{payload['generated_at']}`", + f"- Program: {payload['program_name']}", + "- Strict note: this is a repo-native desired-state rollout package for Uniswap V2 or Uniswap-V2-compatible pools. It does not claim live deployment unless factory/router addresses and pool addresses are recorded.", + f"- Mainnet funding posture: `{payload['mainnet_funding_posture']['mode']}` via `{', '.join(payload['mainnet_funding_posture']['required_deployer_assets'])}`", + "", + "## Deployment Model", + "", + "- Phase 1: build wrapped-depth support first when canonical USDC or USDT is scarce.", + "- Phase 2: add or deepen canonical settlement rails once enough hub-stable inventory exists.", + "- Promotion gate: do not treat any Uniswap V2 rail as live until its factory/router env, pool address, and indexer visibility are all recorded.", + "", + "## Wrapped-Depth Policy", + "", + f"- Preferred wrapped pairs: `{', '.join(payload['wrapped_depth_phase']['preferred_pairs_in_order'])}`", + f"- Allocation split: flagship `{payload['wrapped_depth_phase']['allocation_share_pct']['flagship_pair']}%`, second `{payload['wrapped_depth_phase']['allocation_share_pct']['second_pair']}%`, third `{payload['wrapped_depth_phase']['allocation_share_pct']['third_pair']}%`", + "", + "## Operator Matrix", + "", + "| Chain | Network | Tier | Hub Stable | Core Wrapped Pairs | Additional GRU v2 cW* Tokens | Next Wrapped Expansion Pairs | Settlement Phase Pairs | Existing PMM Analogs |", + "|---|---|---|---|---|---|---|---|---|", + ] + + for entry in entries: + wrapped = ", ".join(f"`{pair}`" for pair in entry["wrapped_depth_phase_pairs"]) or "—" + extra_tokens = ", ".join(f"`{token}`" for token in entry["additional_gru_v2_cw_tokens"]) or "—" + extra_pairs = ", ".join(f"`{pair}`" for pair in entry["additional_wrapped_depth_pairs"][:8]) or "—" + settlement = ", ".join(f"`{pair}`" for pair in entry["settlement_phase_pairs"]) or "—" + analogs = ", ".join(f"`{pair}`" for pair in entry["existing_pmm_analogs"]) or "—" + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | `{entry['tier']}` | `{entry['hub_stable']}` | {wrapped} | {extra_tokens} | {extra_pairs} | {settlement} | {analogs} |" + ) + + lines.extend( + [ + "", + "## Readiness Rules", + "", + "- Use `cWAUSDT` as a wrapped-depth support asset, not as a full replacement for `USDC` or `USDT` settlement.", + "- Keep `cWUSDT/cWUSDC` available everywhere both core wrapped rails are documented.", + "- After the first rail is live, expand the other documented GRU v2 `cW*` assets against `cWUSDC` and `cWUSDT` before opening broad canonical settlement exits.", + "- Prefer `cWUSDC/USDC`, `cWUSDT/USDT`, or `cWAUSDT/USDC|USDT` only after canonical hub inventory is deep enough to matter.", + "- For every promoted chain, add the new pools to `deployment-status.json`, Uniswap V2 env config, and token-aggregation indexing.", + ] + ) + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_live_pair_discovery.py b/scripts/lib/promod_uniswap_v2_live_pair_discovery.py new file mode 100644 index 00000000..51ea2e0b --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_live_pair_discovery.py @@ -0,0 +1,299 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +from pathlib import Path +import argparse +from decimal import Decimal, getcontext +import json +import re +import subprocess +import time + +getcontext().prec = 42 + +ROOT = Path(__file__).resolve().parents[2] +DEPLOYMENT_STATUS = ROOT / "cross-chain-pmm-lps" / "config" / "deployment-status.json" +ENV_PATH = ROOT / "smom-dbis-138" / ".env" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-live-pair-discovery-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_LIVE_PAIR_DISCOVERY.md" +ZERO_ADDRESS = "0x0000000000000000000000000000000000000000" +HEALTHY_DEVIATION_BPS = Decimal("25") +MIN_HEALTHY_RESERVE_UNITS = Decimal("1000") +UINT_RE = re.compile(r"\b\d+\b") + +CHAIN_CONFIG = { + "1": {"rpc_keys": ["ETHEREUM_MAINNET_RPC"], "hub": "USDC"}, + "10": {"rpc_keys": ["OPTIMISM_RPC_URL", "OPTIMISM_MAINNET_RPC"], "hub": "USDC"}, + "25": {"rpc_keys": ["CRONOS_RPC_URL", "CRONOS_MAINNET_RPC"], "hub": "USDT"}, + "56": {"rpc_keys": ["BSC_RPC_URL", "BSC_MAINNET_RPC"], "hub": "USDT"}, + "100": {"rpc_keys": ["GNOSIS_RPC_URL", "GNOSIS_MAINNET_RPC", "GNOSIS_RPC"], "hub": "USDC"}, + "137": {"rpc_keys": ["POLYGON_MAINNET_RPC", "POLYGON_RPC_URL"], "hub": "USDC"}, + "42220": {"rpc_keys": ["CELO_RPC_URL", "CELO_MAINNET_RPC", "CELO_RPC"], "hub": "USDC"}, + "43114": {"rpc_keys": ["AVALANCHE_RPC_URL", "AVALANCHE_MAINNET_RPC"], "hub": "USDC"}, + "8453": {"rpc_keys": ["BASE_RPC_URL", "BASE_MAINNET_RPC"], "hub": "USDC"}, + "42161": {"rpc_keys": ["ARBITRUM_RPC_URL", "ARBITRUM_MAINNET_RPC"], "hub": "USDC"}, +} + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load_json(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, indent=2) + "\n") + + +def write_text(path: Path, text: str): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text.rstrip() + "\n") + + +def load_env(path: Path): + values = {} + for raw_line in path.read_text().splitlines(): + line = raw_line.strip() + if not line or line.startswith("#") or "=" not in line: + continue + key, value = line.split("=", 1) + values[key.strip()] = value.strip() + return values + + +def resolve_env_value(key: str, env_values: dict[str, str], seen: set[str] | None = None) -> str: + if seen is None: + seen = set() + if key in seen: + return env_values.get(key, "") + seen.add(key) + value = env_values.get(key, "") + if value.startswith("${") and value.endswith("}"): + inner = value[2:-1] + target = inner.split(":-", 1)[0] + return resolve_env_value(target, env_values, seen) + return value + + +def cast_call(rpc_url: str, target: str, signature: str, *args: str) -> str: + cmd = ["cast", "call", target, signature, *args, "--rpc-url", rpc_url] + return subprocess.check_output(cmd, text=True).strip() + + +def parse_uint(value: str) -> int: + matches = UINT_RE.findall(value) + if not matches: + raise ValueError(f"could not parse integer from {value!r}") + return int(matches[0]) + + +def parse_uints(value: str, count: int) -> list[int]: + matches = [int(match) for match in UINT_RE.findall(value)] + if len(matches) < count: + raise ValueError(f"expected {count} integers, got {value!r}") + return matches[:count] + + +def parse_address(value: str) -> str: + match = re.search(r"0x[a-fA-F0-9]{40}", value) + if not match: + raise ValueError(f"could not parse address from {value!r}") + return match.group(0) + + +def normalize_units(raw: int, decimals: int) -> Decimal: + return Decimal(raw) / (Decimal(10) ** decimals) + + +def compute_pair_health(rpc_url: str, pair_address: str, base_address: str, quote_address: str) -> dict: + token0 = parse_address(cast_call(rpc_url, pair_address, "token0()(address)")) + token1 = parse_address(cast_call(rpc_url, pair_address, "token1()(address)")) + reserve0_raw, reserve1_raw, _ = parse_uints(cast_call(rpc_url, pair_address, "getReserves()(uint112,uint112,uint32)"), 3) + decimals0 = parse_uint(cast_call(rpc_url, token0, "decimals()(uint8)")) + decimals1 = parse_uint(cast_call(rpc_url, token1, "decimals()(uint8)")) + + if token0.lower() == base_address.lower() and token1.lower() == quote_address.lower(): + base_raw, quote_raw = reserve0_raw, reserve1_raw + base_decimals, quote_decimals = decimals0, decimals1 + elif token1.lower() == base_address.lower() and token0.lower() == quote_address.lower(): + base_raw, quote_raw = reserve1_raw, reserve0_raw + base_decimals, quote_decimals = decimals1, decimals0 + else: + raise ValueError(f"pair tokens {token0}/{token1} do not match {base_address}/{quote_address}") + + base_units = normalize_units(base_raw, base_decimals) + quote_units = normalize_units(quote_raw, quote_decimals) + price = Decimal(0) if base_units == 0 else quote_units / base_units + deviation_bps = abs(price - Decimal(1)) * Decimal(10000) + depth_ok = base_units >= MIN_HEALTHY_RESERVE_UNITS and quote_units >= MIN_HEALTHY_RESERVE_UNITS + parity_ok = deviation_bps <= HEALTHY_DEVIATION_BPS + + return { + "baseReserveRaw": str(base_raw), + "quoteReserveRaw": str(quote_raw), + "baseReserveUnits": str(base_units), + "quoteReserveUnits": str(quote_units), + "priceQuotePerBase": str(price), + "deviationBps": str(deviation_bps), + "depthOk": depth_ok, + "parityOk": parity_ok, + "healthy": depth_ok and parity_ok, + } + + +def candidate_pairs(chain: dict) -> list[tuple[str, str, str, str]]: + cw = chain.get("cwTokens", {}) + anchors = chain.get("anchorAddresses", {}) + hub = "USDC" if "USDC" in anchors else "USDT" + pairs: list[tuple[str, str, str, str]] = [] + for base in ["cWUSDC", "cWUSDT", "cWAUSDT"]: + if base in cw and hub in anchors: + pairs.append((base, hub, cw[base], anchors[hub])) + if "cWUSDT" in cw and "cWUSDC" in cw: + pairs.append(("cWUSDT", "cWUSDC", cw["cWUSDT"], cw["cWUSDC"])) + if "cWAUSDT" in cw and "cWUSDT" in cw: + pairs.append(("cWAUSDT", "cWUSDT", cw["cWAUSDT"], cw["cWUSDT"])) + if "cWAUSDT" in cw and "cWUSDC" in cw: + pairs.append(("cWAUSDT", "cWUSDC", cw["cWAUSDT"], cw["cWUSDC"])) + return pairs + + +def append_discovered_pair(status: dict, chain_id: str, pair: dict): + chain = status["chains"][chain_id] + rows = chain.setdefault("uniswapV2Pools", []) + normalized = pair["poolAddress"].lower() + if any(str(row.get("poolAddress", "")).lower() == normalized for row in rows): + return False + rows.append(pair) + return True + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("--write-discovered", action="store_true", help="Write discovered live pairs into deployment-status.json under uniswapV2Pools.") + args = parser.parse_args() + + status = load_json(DEPLOYMENT_STATUS) + env_values = load_env(ENV_PATH) + + entries = [] + discovered_for_write = [] + + for chain_id, config in CHAIN_CONFIG.items(): + chain = status["chains"].get(chain_id) + if not chain: + continue + + factory = resolve_env_value(f"CHAIN_{chain_id}_UNISWAP_V2_FACTORY", env_values) + router = resolve_env_value(f"CHAIN_{chain_id}_UNISWAP_V2_ROUTER", env_values) + start_block = resolve_env_value(f"CHAIN_{chain_id}_UNISWAP_V2_START_BLOCK", env_values) or "0" + rpc_url = "" + for key in config["rpc_keys"]: + value = resolve_env_value(key, env_values) + if value: + rpc_url = value + break + + env_ready = bool(factory and router and rpc_url) + pairs = [] + if env_ready: + for base, quote, token0, token1 in candidate_pairs(chain): + try: + pair_address = cast_call(rpc_url, factory, "getPair(address,address)(address)", token0, token1) + except Exception as exc: + pair_address = f"ERROR:{exc}" + live = pair_address.lower() != ZERO_ADDRESS and not pair_address.startswith("ERROR:") + row = { + "base": base, + "quote": quote, + "poolAddress": pair_address, + "live": live, + } + if live: + try: + row["health"] = compute_pair_health(rpc_url, pair_address, token0, token1) + except Exception as exc: + row["health"] = {"healthy": False, "error": str(exc)} + pairs.append(row) + if live: + discovered_for_write.append( + { + "chain_id": chain_id, + "row": { + "base": base, + "quote": quote, + "poolAddress": pair_address, + "factoryAddress": factory, + "routerAddress": router, + "startBlock": int(start_block), + "venue": "uniswap_v2_pair", + "publicRoutingEnabled": False, + }, + } + ) + + entries.append( + { + "chain_id": int(chain_id), + "network": chain.get("name"), + "factoryAddress": factory or None, + "routerAddress": router or None, + "startBlock": int(start_block), + "rpcConfigured": bool(rpc_url), + "envReady": env_ready, + "pairsChecked": pairs, + } + ) + + writes = [] + if args.write_discovered: + for item in discovered_for_write: + changed = append_discovered_pair(status, item["chain_id"], item["row"]) + if changed: + writes.append(item["row"]) + if writes: + DEPLOYMENT_STATUS.write_text(json.dumps(status, indent=2) + "\n") + + payload = { + "generated_at": now(), + "write_discovered": args.write_discovered, + "discovered_live_pair_count": len(discovered_for_write), + "healthy_live_pair_count": sum( + 1 for entry in entries for row in entry["pairsChecked"] if row.get("health", {}).get("healthy") is True + ), + "writes_applied": writes, + "entries": entries, + } + + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Live Pair Discovery", + "", + f"- Generated: `{payload['generated_at']}`", + f"- Live pairs discovered: `{payload['discovered_live_pair_count']}`", + f"- Healthy live pairs: `{payload['healthy_live_pair_count']}`", + f"- Write mode: `{payload['write_discovered']}`", + "", + "| Chain | Network | Env Ready | Live Pairs Found | Healthy Live Pairs |", + "|---|---|---|---|---|", + ] + for entry in entries: + live_pairs = [f"`{row['base']}/{row['quote']}`" for row in entry["pairsChecked"] if row["live"]] + healthy_pairs = [ + f"`{row['base']}/{row['quote']}`" + for row in entry["pairsChecked"] + if row.get("health", {}).get("healthy") is True + ] + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | `{entry['envReady']}` | {', '.join(live_pairs) if live_pairs else '—'} | {', '.join(healthy_pairs) if healthy_pairs else '—'} |" + ) + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase1_bridge_3x_matrix.py b/scripts/lib/promod_uniswap_v2_phase1_bridge_3x_matrix.py new file mode 100644 index 00000000..6ce1e6c7 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase1_bridge_3x_matrix.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from decimal import Decimal +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +BASE_MATRIX = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-bridge-from-138-matrix-latest.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-bridge-3x-matrix-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_MATRIX.md" + +MULTIPLIER = Decimal("3") + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 fmt(v: Decimal) -> str: + return format(v.normalize() if v != 0 else Decimal("0"), "f") + + +def main() -> None: + base = load(BASE_MATRIX) + total_usdt = Decimal("0") + total_usdc = Decimal("0") + entries = [] + + for entry in base["entries"]: + needed_usdt = Decimal(entry["cUSDT_needed_from_138"]) + needed_usdc = Decimal(entry["cUSDC_needed_from_138"]) + bridged_usdt = needed_usdt * MULTIPLIER + bridged_usdc = needed_usdc * MULTIPLIER + total_usdt += bridged_usdt + total_usdc += bridged_usdc + entries.append( + { + "chain_id": entry["chain_id"], + "network": entry["network"], + "phase_1_pair": entry["phase_1_pair"], + "base_cUSDT_needed": entry["cUSDT_needed_from_138"], + "base_cUSDC_needed": entry["cUSDC_needed_from_138"], + "bridge_multiplier": "3", + "cUSDT_to_bridge": fmt(bridged_usdt), + "cUSDC_to_bridge": fmt(bridged_usdc), + "bridge_config_env": entry["bridge_config_env"], + "bridge_config_present": entry["bridge_config_present"], + "recommended_action": entry["recommended_action"], + "bridge_note": entry["bridge_note"], + } + ) + + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 1 bridge 3x matrix", + "purpose": "Strict triple-sized Chain 138 bridge funding plan for phase-1 cWUSDT/cWUSDC rollout.", + "bridge_multiplier": "3", + "totals_to_bridge_from_138": { + "cUSDT": fmt(total_usdt), + "cUSDC": fmt(total_usdc), + }, + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-bridge-from-138-matrix-latest.json", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 1 Bridge 3x Matrix", + "", + f"- Generated: `{payload['generated_at']}`", + "- Purpose: strict triple-sized Chain 138 bridge funding plan for the remaining phase-1 pool rollout.", + f"- Bridge multiplier: `{payload['bridge_multiplier']}x`", + f"- Total cUSDT to bridge from Chain 138: `{payload['totals_to_bridge_from_138']['cUSDT']}`", + f"- Total cUSDC to bridge from Chain 138: `{payload['totals_to_bridge_from_138']['cUSDC']}`", + "", + "| Chain | Network | Base cUSDT Need | Base cUSDC Need | 3x cUSDT To Bridge | 3x cUSDC To Bridge | Bridge Env |", + "|---|---|---:|---:|---:|---:|---|", + ] + + for entry in entries: + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | " + f"`{entry['base_cUSDT_needed']}` | " + f"`{entry['base_cUSDC_needed']}` | " + f"`{entry['cUSDT_to_bridge']}` | " + f"`{entry['cUSDC_to_bridge']}` | " + f"`{entry['bridge_config_env']}` |" + ) + + lines.extend(["", "## Notes", ""]) + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']}") + lines.append("") + lines.append(f"- Recommended action: `{entry['recommended_action']}`") + lines.append(f"- 3x cUSDT to bridge: `{entry['cUSDT_to_bridge']}`") + lines.append(f"- 3x cUSDC to bridge: `{entry['cUSDC_to_bridge']}`") + lines.append(f"- Bridge env: `{entry['bridge_config_env']}`") + lines.append(f"- Bridge present: `{str(entry['bridge_config_present']).lower()}`") + lines.append(f"- Bridge note: {entry['bridge_note']}") + lines.append("") + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase1_bridge_3x_operator_packet.py b/scripts/lib/promod_uniswap_v2_phase1_bridge_3x_operator_packet.py new file mode 100644 index 00000000..bea81753 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase1_bridge_3x_operator_packet.py @@ -0,0 +1,169 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +BRIDGE_3X = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-bridge-3x-matrix-latest.json" +FUNDING_BUNDLE = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-funding-bundle-latest.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-bridge-3x-operator-packet-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE1_BRIDGE_3X_OPERATOR_PACKET.md" + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 synthesize_deploy_block(bundle_entry: dict) -> str: + if bundle_entry.get("exact_post_funding_deploy_block"): + return bundle_entry["exact_post_funding_deploy_block"] + + token_addresses = bundle_entry["token_addresses"] + cwusdt = token_addresses["cWUSDT"] + cwusdc = token_addresses["cWUSDC"] + rpc_var = bundle_entry["rpc_env_key"] + amount_raw = bundle_entry.get("recommended_post_funding_amount_raw", "3000000000") + factory = bundle_entry["factory"] + router = bundle_entry["router"] + + lines = [ + "source smom-dbis-138/scripts/load-env.sh >/dev/null", + f'export RPC_URL="${{{rpc_var}}}"', + f'export FACTORY="{factory}"', + f'export ROUTER="{router}"', + f'export CWUSDT="{cwusdt}"', + f'export CWUSDC="{cwusdc}"', + 'export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"', + f'export AMOUNT_RAW="{amount_raw}"', + 'export DEADLINE="$(( $(date +%s) + 3600 ))"', + "", + 'PAIR="$(cast call "$FACTORY" \'getPair(address,address)(address)\' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")"', + 'if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then', + ' cast send "$FACTORY" \'createPair(address,address)(address)\' "$CWUSDT" "$CWUSDC" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "fi", + "", + 'cast send "$CWUSDT" \'approve(address,uint256)(bool)\' "$ROUTER" "$AMOUNT_RAW" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "", + 'cast send "$CWUSDC" \'approve(address,uint256)(bool)\' "$ROUTER" "$AMOUNT_RAW" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "", + 'cast send "$ROUTER" \\', + " 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\", + ' "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + ] + return "\n".join(lines) + + +def recommended_amount_raw(entry: dict) -> str: + usdt = entry["cUSDT_to_bridge"] + usdc = entry["cUSDC_to_bridge"] + if usdt == "0" and usdc == "0": + return "0" + if usdt == "0": + return str(int(float(usdc) * 1_000_000)) + if usdc == "0": + return str(int(float(usdt) * 1_000_000)) + return str(min(int(float(usdt) * 1_000_000), int(float(usdc) * 1_000_000))) + + +def main() -> None: + bridge = load(BRIDGE_3X) + bundle = load(FUNDING_BUNDLE) + bundle_by_chain = {entry["chain_id"]: entry for entry in bundle["entries"]} + + entries = [] + for entry in bridge["entries"]: + chain_id = entry["chain_id"] + bundle_entry = dict(bundle_by_chain[chain_id]) + bundle_entry["recommended_post_funding_amount_raw"] = recommended_amount_raw(entry) + deploy_block = synthesize_deploy_block(bundle_entry) + entries.append( + { + "chain_id": chain_id, + "network": entry["network"], + "phase_1_pair": bundle_entry["phase_1_pair"], + "cUSDT_to_bridge_3x": entry["cUSDT_to_bridge"], + "cUSDC_to_bridge_3x": entry["cUSDC_to_bridge"], + "destination_cw_addresses": bundle_entry["token_addresses"], + "cw_bridge_env": entry["bridge_config_env"], + "bridge_config_present": entry["bridge_config_present"], + "recommended_action": entry["recommended_action"], + "post_funding_deploy_block": deploy_block, + } + ) + + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 1 bridge 3x operator packet", + "purpose": "Strict operator packet: chain -> 3x cUSDT/cUSDC amount -> destination cW addresses -> CW_BRIDGE env -> post-funding deploy block.", + "bridge_multiplier": bridge["bridge_multiplier"], + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-bridge-3x-matrix-latest.json", + "reports/extraction/promod-uniswap-v2-phase1-funding-bundle-latest.json", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 1 Bridge 3x Operator Packet", + "", + f"- Generated: `{payload['generated_at']}`", + "- Purpose: strict operator packet for `3x` bridge sizing and post-funding pool deployment.", + f"- Bridge multiplier: `{payload['bridge_multiplier']}x`", + "", + "| Chain | Network | 3x cUSDT | 3x cUSDC | Destination cW Addresses | CW_BRIDGE Env |", + "|---|---|---:|---:|---|---|", + ] + for entry in entries: + addrs = ", ".join(f"`{k}={v}`" for k, v in entry["destination_cw_addresses"].items()) + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | " + f"`{entry['cUSDT_to_bridge_3x']}` | " + f"`{entry['cUSDC_to_bridge_3x']}` | " + f"{addrs} | " + f"`{entry['cw_bridge_env']}` |" + ) + lines.extend(["", "## Post-Funding Deploy Blocks", ""]) + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']}") + lines.append("") + lines.append(f"- 3x cUSDT to bridge: `{entry['cUSDT_to_bridge_3x']}`") + lines.append(f"- 3x cUSDC to bridge: `{entry['cUSDC_to_bridge_3x']}`") + lines.append(f"- CW_BRIDGE env: `{entry['cw_bridge_env']}`") + lines.append(f"- Recommended action: `{entry['recommended_action']}`") + lines.append("") + lines.append("```bash") + lines.append(entry["post_funding_deploy_block"]) + lines.append("```") + lines.append("") + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase1_bridge_from_138_matrix.py b/scripts/lib/promod_uniswap_v2_phase1_bridge_from_138_matrix.py new file mode 100644 index 00000000..f4a01678 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase1_bridge_from_138_matrix.py @@ -0,0 +1,149 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from decimal import Decimal +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +FUNDING_ACTIONS = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-funding-actions-latest.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-bridge-from-138-matrix-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE1_BRIDGE_FROM_138_MATRIX.md" + +CHAIN_SUFFIX = { + 1: "MAINNET", + 10: "OPTIMISM", + 25: "CRONOS", + 56: "BSC", + 100: "GNOSIS", + 137: "POLYGON", + 8453: "BASE", + 42161: "ARBITRUM", + 42220: "CELO", + 43114: "AVALANCHE", +} + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 needed_amounts(entry: dict) -> tuple[str, str]: + if entry["action_type"] == "seed_now": + return "0", "0" + if entry["action_type"] == "mint_missing_side_then_seed": + return "0", "0.8" + return "1000", "1000" + + +def recommended_action(entry: dict) -> str: + if entry["action_type"] == "seed_now": + return "seed_now" + if entry["action_type"] == "mint_missing_side_then_seed": + return "bridge_or_mint_missing_side_then_seed" + return "bridge_or_mint_destination_then_seed" + + +def main() -> None: + actions = load(FUNDING_ACTIONS) + entries = [] + total_cusdt = Decimal("0") + total_cusdc = Decimal("0") + + for entry in actions["entries"]: + chain_id = entry["chain_id"] + need_usdt, need_usdc = needed_amounts(entry) + total_cusdt += Decimal(need_usdt) + total_cusdc += Decimal(need_usdc) + suffix = CHAIN_SUFFIX[chain_id] + bridge_env = f"CW_BRIDGE_{suffix}" + bridge_config_present = bool(entry.get("bridge_possible")) + entries.append( + { + "chain_id": chain_id, + "network": entry["network"], + "phase_1_pair": entry["phase_1_pair"], + "cUSDT_needed_from_138": need_usdt, + "cUSDC_needed_from_138": need_usdc, + "bridge_config_env": bridge_env, + "bridge_config_present": bridge_config_present, + "recommended_action": recommended_action(entry), + "minimum_gas_issue": entry["minimum_gas_issue"], + "tokens_missing": entry["tokens_missing"], + "bridge_note": entry["bridge_note"], + } + ) + + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 1 bridge-from-138 matrix", + "purpose": "Strict destination funding matrix from Chain 138 GRU v2 feeder inventory for phase-1 cWUSDT/cWUSDC rollout.", + "signer": actions["signer"], + "totals_needed_from_138": { + "cUSDT": format(total_cusdt, "f"), + "cUSDC": format(total_cusdc, "f"), + }, + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-funding-actions-latest.json", + "docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md", + "docs/07-ccip/CW_BRIDGE_APPROACH.md", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 1 Bridge-From-138 Matrix", + "", + f"- Generated: `{payload['generated_at']}`", + f"- Signer: `{payload['signer']}`", + "- Purpose: strict destination funding matrix from Chain 138 GRU v2 feeder inventory for the remaining phase-1 pool rollout.", + f"- Total cUSDT needed from Chain 138: `{payload['totals_needed_from_138']['cUSDT']}`", + f"- Total cUSDC needed from Chain 138: `{payload['totals_needed_from_138']['cUSDC']}`", + "", + "| Chain | Network | cUSDT Needed | cUSDC Needed | Bridge Env | Bridge Present | Recommended Action |", + "|---|---|---:|---:|---|---|---|", + ] + for entry in entries: + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | " + f"`{entry['cUSDT_needed_from_138']}` | " + f"`{entry['cUSDC_needed_from_138']}` | " + f"`{entry['bridge_config_env']}` | " + f"`{str(entry['bridge_config_present']).lower()}` | " + f"`{entry['recommended_action']}` |" + ) + + lines.extend(["", "## Notes", ""]) + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']}") + lines.append("") + lines.append(f"- Tokens missing on destination: {', '.join(f'`{x}`' for x in entry['tokens_missing']) or '`none`'}") + lines.append(f"- Minimum gas issue: `{str(entry['minimum_gas_issue']).lower()}`") + lines.append(f"- Bridge config env: `{entry['bridge_config_env']}`") + lines.append(f"- Bridge present: `{str(entry['bridge_config_present']).lower()}`") + lines.append(f"- Recommended action: `{entry['recommended_action']}`") + lines.append(f"- Bridge note: {entry['bridge_note']}") + lines.append("") + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase1_bridge_or_mint_runbook.py b/scripts/lib/promod_uniswap_v2_phase1_bridge_or_mint_runbook.py new file mode 100644 index 00000000..847db211 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase1_bridge_or_mint_runbook.py @@ -0,0 +1,257 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +OPERATOR_PACKET = ( + ROOT + / "reports" + / "extraction" + / "promod-uniswap-v2-phase1-bridge-3x-operator-packet-latest.json" +) +FUNDING_ACTIONS = ( + ROOT + / "reports" + / "extraction" + / "promod-uniswap-v2-phase1-funding-actions-latest.json" +) +REPORT = ( + ROOT + / "reports" + / "extraction" + / "promod-uniswap-v2-phase1-bridge-or-mint-runbook-latest.json" +) +DOC = ( + ROOT + / "docs" + / "03-deployment" + / "PROMOD_UNISWAP_V2_PHASE1_BRIDGE_OR_MINT_RUNBOOK.md" +) + +SOURCE_CUSDT = "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22" +SOURCE_CUSDC = "0xf22258f57794CC8E06237084b353Ab30fFfa640b" + +RPC_ENV = { + 1: "ETHEREUM_MAINNET_RPC", + 10: "OPTIMISM_MAINNET_RPC", + 25: "CRONOS_RPC_URL", + 56: "BSC_RPC_URL", + 100: "GNOSIS_MAINNET_RPC", + 137: "POLYGON_MAINNET_RPC", + 8453: "BASE_MAINNET_RPC", + 42161: "ARBITRUM_MAINNET_RPC", + 42220: "CELO_MAINNET_RPC", + 43114: "AVALANCHE_RPC_URL", +} + +SELECTOR_ENV = { + 1: "ETH_MAINNET_SELECTOR", + 10: "OPTIMISM_SELECTOR", + 25: "CRONOS_SELECTOR", + 56: "BSC_SELECTOR", + 100: "GNOSIS_SELECTOR", + 137: "POLYGON_SELECTOR", + 8453: "BASE_SELECTOR", + 42161: "ARBITRUM_SELECTOR", + 42220: "", + 43114: "AVALANCHE_SELECTOR", +} + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 human_to_raw(amount: str) -> str: + if "." in amount: + whole, frac = amount.split(".", 1) + frac = (frac + "000000")[:6] + else: + whole, frac = amount, "000000" + return str(int(whole) * 1_000_000 + int(frac)) + + +def bridge_preflight_block(entry: dict) -> str: + chain_id = entry["chain_id"] + rpc_var = RPC_ENV[chain_id] + selector_env = SELECTOR_ENV.get(chain_id, "") + lines = [ + "source smom-dbis-138/scripts/load-env.sh >/dev/null", + 'export SOURCE_RPC_URL="${CHAIN138_RPC}"', + f'export DEST_RPC_URL="${{{rpc_var}}}"', + f'export DEST_CW_BRIDGE="${{{entry["cw_bridge_env"]}}}"', + f'export DEST_CWUSDT="{entry["destination_cw_addresses"]["cWUSDT"]}"', + f'export DEST_CWUSDC="{entry["destination_cw_addresses"]["cWUSDC"]}"', + f'export SOURCE_CUSDT="{SOURCE_CUSDT}"', + f'export SOURCE_CUSDC="{SOURCE_CUSDC}"', + f'export BRIDGE_CUSDT_HUMAN="{entry["cUSDT_to_bridge_3x"]}"', + f'export BRIDGE_CUSDC_HUMAN="{entry["cUSDC_to_bridge_3x"]}"', + f'export BRIDGE_CUSDT_RAW="{human_to_raw(entry["cUSDT_to_bridge_3x"])}"', + f'export BRIDGE_CUSDC_RAW="{human_to_raw(entry["cUSDC_to_bridge_3x"])}"', + ] + if selector_env: + lines.append(f'export DEST_SELECTOR="${{{selector_env}}}"') + else: + lines.append("# DEST_SELECTOR env is not currently documented for this chain in smom-dbis-138/.env") + lines.extend( + [ + "", + 'cast call "$DEST_CW_BRIDGE" \'feeToken()(address)\' --rpc-url "$DEST_RPC_URL"', + ] + ) + if selector_env: + lines.append( + 'cast call "$DEST_CW_BRIDGE" \'calculateFee(uint64,uint256)(uint256)\' "$DEST_SELECTOR" "$BRIDGE_CUSDC_RAW" --rpc-url "$DEST_RPC_URL"' + ) + lines.extend( + [ + "", + 'echo "Bridge execution stays runbook-driven: follow docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md and docs/07-ccip/CW_BRIDGE_APPROACH.md with the env exported above."', + ] + ) + return "\n".join(lines) + + +def main() -> None: + operator_packet = load(OPERATOR_PACKET) + funding_actions = load(FUNDING_ACTIONS) + actions_by_chain = {entry["chain_id"]: entry for entry in funding_actions["entries"]} + + entries = [] + for entry in operator_packet["entries"]: + chain_id = entry["chain_id"] + action = actions_by_chain[chain_id] + selector_env = SELECTOR_ENV.get(chain_id, "") + seed_now = action["action_type"] == "seed_now" + preferred_path = ( + "seed_now" + if seed_now + else "bridge_then_seed" if selector_env else "mint_then_seed" + ) + entries.append( + { + "chain_id": chain_id, + "network": entry["network"], + "phase_1_pair": entry["phase_1_pair"], + "preferred_path": preferred_path, + "recommended_action": entry["recommended_action"], + "cUSDT_to_bridge_3x": entry["cUSDT_to_bridge_3x"], + "cUSDC_to_bridge_3x": entry["cUSDC_to_bridge_3x"], + "destination_cw_addresses": entry["destination_cw_addresses"], + "cw_bridge_env": entry["cw_bridge_env"], + "selector_env": selector_env or None, + "bridge_preflight_block": "" if seed_now else bridge_preflight_block(entry), + "mint_fallback_steps": action["mint_steps"], + "post_funding_deploy_block": entry["post_funding_deploy_block"], + } + ) + + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 1 bridge-or-mint execution runbook", + "purpose": "Strict runbook keyed to the 3x operator packet: for each chain, prefer bridge when the destination bridge env and selector are present, otherwise use the exact destination mint fallback, then execute the post-funding pool deploy block.", + "source_chain": { + "chain_id": 138, + "network": "Chain 138", + "source_tokens": { + "cUSDT": SOURCE_CUSDT, + "cUSDC": SOURCE_CUSDC, + }, + }, + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-bridge-3x-operator-packet-latest.json", + "reports/extraction/promod-uniswap-v2-phase1-funding-actions-latest.json", + "docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md", + "docs/07-ccip/CW_BRIDGE_APPROACH.md", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 1 Bridge-Or-Mint Execution Runbook", + "", + f"- Generated: `{payload['generated_at']}`", + "- Purpose: strict bridge-or-mint runbook matched to the `3x` operator packet.", + "- Source chain: `138` / Chain 138", + f"- Source cUSDT: `{SOURCE_CUSDT}`", + f"- Source cUSDC: `{SOURCE_CUSDC}`", + "", + "## Operating Rule", + "", + "1. If the chain is already funded, seed the pool directly.", + "2. If the chain has a documented selector env and `CW_BRIDGE_`, prefer bridge preflight and then follow the cW bridge runbooks.", + "3. If the bridge path is not fully parameterized in repo env, use the exact destination mint fallback block.", + "4. After funding lands, execute the post-funding deploy block and then refresh discovery and promotion gates.", + "", + "| Chain | Network | Preferred Path | 3x cUSDT | 3x cUSDC | CW_BRIDGE Env | Selector Env |", + "|---|---|---|---:|---:|---|---|", + ] + for entry in entries: + selector_env = f"`{entry['selector_env']}`" if entry["selector_env"] else "`missing`" + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | `{entry['preferred_path']}` | " + f"`{entry['cUSDT_to_bridge_3x']}` | `{entry['cUSDC_to_bridge_3x']}` | " + f"`{entry['cw_bridge_env']}` | {selector_env} |" + ) + + lines.extend(["", "## Per-Chain Runbook", ""]) + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']}") + lines.append("") + lines.append(f"- Preferred path: `{entry['preferred_path']}`") + lines.append(f"- Recommended action: `{entry['recommended_action']}`") + lines.append(f"- 3x cUSDT from 138: `{entry['cUSDT_to_bridge_3x']}`") + lines.append(f"- 3x cUSDC from 138: `{entry['cUSDC_to_bridge_3x']}`") + lines.append(f"- Destination cWUSDT: `{entry['destination_cw_addresses']['cWUSDT']}`") + lines.append(f"- Destination cWUSDC: `{entry['destination_cw_addresses']['cWUSDC']}`") + lines.append(f"- CW_BRIDGE env: `{entry['cw_bridge_env']}`") + lines.append( + f"- Selector env: `{entry['selector_env']}`" + if entry["selector_env"] + else "- Selector env: `missing`" + ) + lines.append("") + if entry["bridge_preflight_block"]: + lines.append("Bridge preflight block:") + lines.append("```bash") + lines.append(entry["bridge_preflight_block"]) + lines.append("```") + lines.append("") + if entry["mint_fallback_steps"]: + lines.append("Mint fallback blocks:") + for step in entry["mint_fallback_steps"]: + lines.append(f"- Mint `{step['token']}` `{step['amount_human']}`:") + lines.append("```bash") + lines.append(step["exact_mint_block"]) + lines.append("```") + lines.append("") + lines.append("Post-funding deploy block:") + lines.append("```bash") + lines.append(entry["post_funding_deploy_block"]) + lines.append("```") + lines.append("") + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase1_execution_checklist.py b/scripts/lib/promod_uniswap_v2_phase1_execution_checklist.py new file mode 100644 index 00000000..2e99637d --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase1_execution_checklist.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +from pathlib import Path +import json +import time + +ROOT = Path(__file__).resolve().parents[2] +PHASE_ORDER = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase-order-latest.json" +PROMOTION_GATES = ROOT / "reports" / "extraction" / "promod-uniswap-v2-promotion-gates-latest.json" +DEPLOYMENT_STATUS = ROOT / "cross-chain-pmm-lps" / "config" / "deployment-status.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-execution-checklist-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE1_EXECUTION_CHECKLIST.md" + +RPC_ENV_KEYS = { + 1: ["ETHEREUM_MAINNET_RPC"], + 10: ["OPTIMISM_RPC_URL", "OPTIMISM_MAINNET_RPC"], + 25: ["CRONOS_RPC_URL", "CRONOS_MAINNET_RPC"], + 56: ["BSC_RPC_URL", "BSC_MAINNET_RPC"], + 100: ["GNOSIS_RPC_URL", "GNOSIS_MAINNET_RPC", "GNOSIS_RPC"], + 137: ["POLYGON_MAINNET_RPC", "POLYGON_RPC_URL"], + 8453: ["BASE_RPC_URL", "BASE_MAINNET_RPC"], + 42161: ["ARBITRUM_RPC_URL", "ARBITRUM_MAINNET_RPC"], + 42220: ["CELO_RPC_URL", "CELO_MAINNET_RPC", "CELO_RPC"], + 43114: ["AVALANCHE_RPC_URL", "AVALANCHE_MAINNET_RPC"], +} + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, indent=2) + "\n") + + +def write_text(path: Path, text: str): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text.rstrip() + "\n") + + +def token_addresses(chain_status: dict, pair: str) -> dict[str, str]: + token_a, token_b = pair.split("/") + cw = chain_status.get("cwTokens", {}) + anchors = chain_status.get("anchorAddresses", {}) + + def resolve(symbol: str) -> str: + if symbol in cw: + return cw[symbol] + return anchors.get(symbol, "") + + return {token_a: resolve(token_a), token_b: resolve(token_b)} + + +def main(): + phase = load(PHASE_ORDER) + gates = load(PROMOTION_GATES) + status = load(DEPLOYMENT_STATUS) + gates_by_chain = {entry["chain_id"]: entry for entry in gates["entries"]} + + entries = [] + for entry in phase["entries"]: + chain_id = entry["chain_id"] + chain_status = status["chains"].get(str(chain_id), {}) + gate = gates_by_chain.get(chain_id, {}) + pair = entry["phase_1_core_rail"] + tokens = token_addresses(chain_status, pair) + token_a, token_b = pair.split("/") + env_vars = [item["name"] for item in gate.get("exact_env_vars_to_fill", [])] + rpc_keys = RPC_ENV_KEYS.get(chain_id, []) + factory_var = next((name for name in env_vars if name.endswith("_FACTORY")), "") + router_var = next((name for name in env_vars if name.endswith("_ROUTER")), "") + + checklist = [ + f"Confirm `{factory_var}`, `{router_var}`, and `{next((name for name in env_vars if name.endswith('_START_BLOCK')), '')}` are set in `smom-dbis-138/.env`.", + f"Confirm one RPC env is usable for chain `{chain_id}`: {', '.join(f'`{key}`' for key in rpc_keys)}.", + f"Verify token addresses for `{token_a}` and `{token_b}` in `cross-chain-pmm-lps/config/deployment-status.json` before sending any transaction.", + f"Probe the factory first: `cast call \"${{{factory_var}}}\" \"getPair(address,address)(address)\" {tokens.get(token_a,'0x...')} {tokens.get(token_b,'0x...')} --rpc-url \"${{{rpc_keys[0] if rpc_keys else 'RPC_URL'}}}\"`.", + f"If the pair is absent, create it: `cast send \"${{{factory_var}}}\" \"createPair(address,address)(address)\" {tokens.get(token_a,'0x...')} {tokens.get(token_b,'0x...')} --rpc-url \"${{{rpc_keys[0] if rpc_keys else 'RPC_URL'}}}\" --private-key \"$PRIVATE_KEY\"`.", + f"Approve both phase-1 tokens to the router and seed initial liquidity on `{pair}` with `addLiquidity(...)` through `\"${{{router_var}}}\"`.", + "Rebuild live pair discovery and write the discovered pair into `deployment-status.json`.", + "Re-run promotion gates and do not move to the next chain until the current one is discoverable and recorded.", + ] + + entries.append( + { + "chain_id": chain_id, + "network": entry["network"], + "phase_1_core_rail": pair, + "rpc_env_keys": rpc_keys, + "required_uniswap_v2_env_vars": env_vars, + "token_addresses": tokens, + "remaining_live_blockers": entry.get("remaining_live_blockers", []), + "execution_checklist": checklist, + "post_phase_1_commands": entry.get("post_phase_1_commands", []), + } + ) + + payload = { + "generated_at": now(), + "program_name": phase["program_name"], + "purpose": "Exact chain-by-chain operator checklist for the first full phase 1 rollout of Mr. Promod's Uniswap V2 core rail.", + "mainnet_funding_posture": phase["mainnet_funding_posture"], + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase-order-latest.json", + "reports/extraction/promod-uniswap-v2-promotion-gates-latest.json", + "cross-chain-pmm-lps/config/deployment-status.json", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 1 Execution Checklist", + "", + f"- Generated: `{payload['generated_at']}`", + f"- Program: {payload['program_name']}", + f"- Mainnet funding posture: `{payload['mainnet_funding_posture']['mode']}` via `{', '.join(payload['mainnet_funding_posture']['required_deployer_assets'])}`", + "- Purpose: exact chain-by-chain checklist for the first full phase 1 rollout of `cWUSDT/cWUSDC`.", + "", + "## Global Rule", + "", + "- Do not advance to the next chain until the current chain's `cWUSDT/cWUSDC` pair is discoverable on-chain and recordable in `deployment-status.json`.", + "", + "| Chain | Network | Phase 1 Pair | Required Env | RPC Keys | Required Token Addresses |", + "|---|---|---|---|---|---|", + ] + + for entry in entries: + envs = ", ".join(f"`{item}`" for item in entry["required_uniswap_v2_env_vars"]) + rpcs = ", ".join(f"`{item}`" for item in entry["rpc_env_keys"]) + tokens = ", ".join(f"`{k}={v}`" for k, v in entry["token_addresses"].items()) + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | `{entry['phase_1_core_rail']}` | {envs} | {rpcs} | {tokens} |" + ) + + lines.extend( + [ + "", + "## Execution Steps", + "", + ] + ) + + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']}") + lines.append("") + for idx, item in enumerate(entry["execution_checklist"], 1): + lines.append(f"{idx}. {item}") + lines.append("") + lines.append("Post-phase-1 commands:") + for cmd in entry["post_phase_1_commands"]: + lines.append(f"- `{cmd}`") + lines.append("") + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase1_funding_actions.py b/scripts/lib/promod_uniswap_v2_phase1_funding_actions.py new file mode 100644 index 00000000..2e2048dc --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase1_funding_actions.py @@ -0,0 +1,202 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from decimal import Decimal +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +FUNDING = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-funding-bundle-latest.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-funding-actions-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE1_FUNDING_ACTIONS.md" + +CHAIN_SUFFIX = { + 1: "MAINNET", + 10: "OPTIMISM", + 25: "CRONOS", + 56: "BSC", + 100: "GNOSIS", + 137: "POLYGON", + 8453: "BASE", + 42161: "ARBITRUM", + 42220: "CELO", + 43114: "AVALANCHE", +} +RPC_ENV = { + 1: "ETHEREUM_MAINNET_RPC", + 10: "OPTIMISM_MAINNET_RPC", + 25: "CRONOS_RPC_URL", + 56: "BSC_RPC_URL", + 100: "GNOSIS_MAINNET_RPC", + 137: "POLYGON_MAINNET_RPC", + 8453: "BASE_MAINNET_RPC", + 42161: "ARBITRUM_MAINNET_RPC", + 42220: "CELO_MAINNET_RPC", + 43114: "AVALANCHE_RPC_URL", +} + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 mint_block(chain_id: int, token_symbol: str, token_address: str, amount_raw: int) -> str: + rpc_var = RPC_ENV[chain_id] + lines = [ + "source smom-dbis-138/scripts/load-env.sh >/dev/null", + f'cast send "{token_address}" \'mint(address,uint256)\' "$(cast wallet address --private-key "$PRIVATE_KEY")" "{amount_raw}" \\', + f' --rpc-url "${{{rpc_var}}}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000', + ] + return "\n".join(lines) + + +def gas_topup_note(chain_id: int) -> str: + if chain_id == 10: + return "Top up native gas on Optimism before minting or seeding; current balance is below the 0.001 safety threshold." + if chain_id == 8453: + return "Top up native gas on Base before minting or seeding; current balance is below the 0.001 safety threshold." + return "No minimum gas top-up issue from the latest preflight snapshot." + + +def bridge_note(chain_id: int) -> str: + suffix = CHAIN_SUFFIX[chain_id] + return ( + f"Bridge path is structurally available for chain `{chain_id}` via `CW_BRIDGE_{suffix}` and `bridgeAvailable=true`, " + "but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows " + "`docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script." + ) + + +def main() -> None: + bundle = load(FUNDING) + entries = [] + + for entry in bundle["entries"]: + chain_id = entry["chain_id"] + tokens_missing = entry["tokens_missing"] + max_seed = Decimal(entry["max_equal_seed_human"]) + + if entry["funding_ready_now"]: + action = "seed_now" + recommended_seed_human = str(max_seed) + mint_steps = [] + else: + if chain_id == 43114 and tokens_missing == ["cWUSDC"]: + action = "mint_missing_side_then_seed" + recommended_seed_human = "0.8" + mint_steps = [ + { + "token": "cWUSDC", + "amount_human": "0.8", + "amount_raw": 800000, + "exact_mint_block": mint_block(chain_id, "cWUSDC", entry["token_addresses"]["cWUSDC"], 800000), + } + ] + else: + action = "mint_destination_then_seed" + recommended_seed_human = "1000" + mint_steps = [] + for token in tokens_missing: + mint_steps.append( + { + "token": token, + "amount_human": "1000", + "amount_raw": 1000000000, + "exact_mint_block": mint_block(chain_id, token, entry["token_addresses"][token], 1000000000), + } + ) + + entries.append( + { + "chain_id": chain_id, + "network": entry["network"], + "phase_1_pair": entry["phase_1_pair"], + "action_type": action, + "tokens_missing": tokens_missing, + "minimum_gas_issue": entry["minimum_gas_issue"], + "gas_topup_note": gas_topup_note(chain_id), + "recommended_seed_human": recommended_seed_human, + "bridge_possible": True, + "bridge_note": bridge_note(chain_id), + "mint_steps": mint_steps, + "exact_post_funding_deploy_block": entry["exact_post_funding_deploy_block"], + } + ) + + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 1 funding actions", + "purpose": "Strict phase-1 funding actions: seed-now, mint-then-seed, and bridge-possible notes for each target chain.", + "signer": bundle["signer"], + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-funding-bundle-latest.json", + "docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md", + "docs/07-ccip/CW_BRIDGE_APPROACH.md", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 1 Funding Actions", + "", + f"- Generated: `{payload['generated_at']}`", + f"- Signer: `{payload['signer']}`", + "- Purpose: strict per-chain action plan for phase-1 funding and deployment.", + "", + "| Chain | Network | Action | Tokens Missing | Gas Issue | Recommended Seed |", + "|---|---|---|---|---|---:|", + ] + for entry in entries: + missing = ", ".join(f"`{t}`" for t in entry["tokens_missing"]) or "`none`" + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | `{entry['action_type']}` | {missing} | " + f"`{str(entry['minimum_gas_issue']).lower()}` | `{entry['recommended_seed_human']}` |" + ) + + lines.extend(["", "## Per-Chain Actions", ""]) + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']}") + lines.append("") + lines.append(f"- Action: `{entry['action_type']}`") + lines.append(f"- Tokens missing: {', '.join(f'`{t}`' for t in entry['tokens_missing']) or '`none`'}") + lines.append(f"- Gas issue: `{str(entry['minimum_gas_issue']).lower()}`") + lines.append(f"- Gas note: {entry['gas_topup_note']}") + lines.append(f"- Bridge possible: `{str(entry['bridge_possible']).lower()}`") + lines.append(f"- Bridge note: {entry['bridge_note']}") + lines.append("") + if entry["mint_steps"]: + lines.append("Mint steps:") + for step in entry["mint_steps"]: + lines.append(f"- Mint `{step['token']}` `{step['amount_human']}` with:") + lines.append("```bash") + lines.append(step["exact_mint_block"]) + lines.append("```") + if entry["exact_post_funding_deploy_block"]: + lines.append("Post-funding deploy block:") + lines.append("```bash") + lines.append(entry["exact_post_funding_deploy_block"]) + lines.append("```") + lines.append("") + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase1_funding_bundle.py b/scripts/lib/promod_uniswap_v2_phase1_funding_bundle.py new file mode 100644 index 00000000..56128f95 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase1_funding_bundle.py @@ -0,0 +1,175 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from decimal import Decimal +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +FUNDING = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-funding-readiness-latest.json" +CHECKLIST = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-execution-checklist-latest.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-funding-bundle-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE1_FUNDING_BUNDLE.md" + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 env_ref(name: str) -> str: + return "${" + name + "}" + + +def deploy_block(entry: dict, funding_entry: dict) -> str: + token_addresses = entry["token_addresses"] + cwusdt = token_addresses["cWUSDT"] + cwusdc = token_addresses["cWUSDC"] + envs = entry["required_uniswap_v2_env_vars"] + factory_var = next(name for name in envs if name.endswith("_FACTORY")) + router_var = next(name for name in envs if name.endswith("_ROUTER")) + rpc_var = entry["rpc_env_keys"][0] + amount_raw = min( + int(funding_entry["cwusdt"]["balance_raw"]), + int(funding_entry["cwusdc"]["balance_raw"]), + ) + + lines = [ + "source smom-dbis-138/scripts/load-env.sh >/dev/null", + f'export RPC_URL="{env_ref(rpc_var)}"', + f'export FACTORY="{env_ref(factory_var)}"', + f'export ROUTER="{env_ref(router_var)}"', + f'export CWUSDT="{cwusdt}"', + f'export CWUSDC="{cwusdc}"', + 'export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"', + f'export AMOUNT_RAW="{amount_raw}"', + 'export DEADLINE="$(( $(date +%s) + 3600 ))"', + "", + 'PAIR="$(cast call "$FACTORY" \'getPair(address,address)(address)\' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")"', + 'if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then', + ' cast send "$FACTORY" \'createPair(address,address)(address)\' "$CWUSDT" "$CWUSDC" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "fi", + "", + 'cast send "$CWUSDT" \'approve(address,uint256)(bool)\' "$ROUTER" "$AMOUNT_RAW" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "", + 'cast send "$CWUSDC" \'approve(address,uint256)(bool)\' "$ROUTER" "$AMOUNT_RAW" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "", + 'cast send "$ROUTER" \\', + " 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \\", + ' "$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + ] + return "\n".join(lines) + + +def main() -> None: + funding = load(FUNDING) + checklist = load(CHECKLIST) + funding_by_chain = {entry["chain_id"]: entry for entry in funding["entries"]} + checklist_by_chain = {entry["chain_id"]: entry for entry in checklist["entries"]} + + entries = [] + for chain_id in [1, 10, 25, 56, 100, 137, 8453, 42161, 42220, 43114]: + f = funding_by_chain[chain_id] + c = checklist_by_chain[chain_id] + missing_tokens = [] + if Decimal(f["cwusdt"]["balance_human"]) <= 0: + missing_tokens.append("cWUSDT") + if Decimal(f["cwusdc"]["balance_human"]) <= 0: + missing_tokens.append("cWUSDC") + gas_issue = not f["native_balance_ok_for_ops"] + exact_block = deploy_block(c, f) if f["funding_ready_now"] else None + entries.append( + { + "chain_id": chain_id, + "network": f["network"], + "phase_1_pair": f["phase_1_pair"], + "tokens_missing": missing_tokens, + "minimum_gas_issue": gas_issue, + "native_balance": f["native_balance"], + "max_equal_seed_human": f["max_equal_seed_human"], + "funding_ready_now": f["funding_ready_now"], + "exact_post_funding_deploy_block": exact_block, + "rpc_env_key": f["rpc_env_key"], + "router": f["router"], + "factory": f["factory"], + "token_addresses": c["token_addresses"], + } + ) + + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 1 funding bundle", + "purpose": "Strict per-chain funding bundle: missing tokens, gas issue, and exact deploy block to run once each chain is funded.", + "signer": funding["signer"], + "phase_1_pair": funding["phase_1_pair"], + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-funding-readiness-latest.json", + "reports/extraction/promod-uniswap-v2-phase1-execution-checklist-latest.json", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 1 Funding Bundle", + "", + f"- Generated: `{payload['generated_at']}`", + f"- Signer: `{payload['signer']}`", + "- Purpose: strict per-chain funding bundle for `cWUSDT/cWUSDC` phase-1 rollout.", + "", + "| Chain | Network | Tokens Missing | Minimum Gas Issue | Max Equal Seed | Funding Ready Now |", + "|---|---|---|---|---:|---|", + ] + for entry in entries: + missing = ", ".join(f"`{x}`" for x in entry["tokens_missing"]) or "`none`" + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | {missing} | " + f"`{str(entry['minimum_gas_issue']).lower()}` | " + f"`{entry['max_equal_seed_human']}` | " + f"`{str(entry['funding_ready_now']).lower()}` |" + ) + lines.append("") + lines.append("## Exact Post-Funding Deploy Blocks") + lines.append("") + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']}") + lines.append("") + lines.append(f"- Tokens missing: {', '.join(f'`{x}`' for x in entry['tokens_missing']) or '`none`'}") + lines.append(f"- Minimum gas issue: `{str(entry['minimum_gas_issue']).lower()}`") + lines.append(f"- Max equal seed after funding snapshot: `{entry['max_equal_seed_human']}`") + lines.append("") + if entry["exact_post_funding_deploy_block"]: + lines.append("```bash") + lines.append(entry["exact_post_funding_deploy_block"]) + lines.append("```") + else: + lines.append("Post-funding deploy block becomes executable once the missing token and gas blockers are cleared. Use the chain-specific execution checklist plus this chain's env and token addresses.") + lines.append("") + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase1_funding_readiness.py b/scripts/lib/promod_uniswap_v2_phase1_funding_readiness.py new file mode 100644 index 00000000..09c99c31 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase1_funding_readiness.py @@ -0,0 +1,314 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import subprocess +import time +from decimal import Decimal, getcontext +from pathlib import Path + +getcontext().prec = 50 + +ROOT = Path(__file__).resolve().parents[2] +DEPLOYMENT_STATUS = ROOT / "cross-chain-pmm-lps" / "config" / "deployment-status.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase1-funding-readiness-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE1_FUNDING_READINESS.md" + +TARGET_CHAINS = [1, 10, 25, 56, 100, 137, 8453, 42161, 42220, 43114] +RPC_ENV_KEYS = { + 1: "ETHEREUM_MAINNET_RPC", + 10: "OPTIMISM_MAINNET_RPC", + 25: "CRONOS_RPC_URL", + 56: "BSC_RPC_URL", + 100: "GNOSIS_MAINNET_RPC", + 137: "POLYGON_MAINNET_RPC", + 8453: "BASE_MAINNET_RPC", + 42161: "ARBITRUM_MAINNET_RPC", + 42220: "CELO_MAINNET_RPC", + 43114: "AVALANCHE_RPC_URL", +} +NETWORK_NAMES = { + 1: "Ethereum Mainnet", + 10: "Optimism", + 25: "Cronos", + 56: "BSC", + 100: "Gnosis", + 137: "Polygon", + 8453: "Base", + 42161: "Arbitrum One", + 42220: "Celo", + 43114: "Avalanche", +} + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def write_json(path: Path, payload: dict) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 run(cmd: list[str], timeout: int = 8) -> tuple[int, str, str]: + proc = subprocess.run(cmd, text=True, capture_output=True, timeout=timeout) + return proc.returncode, proc.stdout.strip(), proc.stderr.strip() + + +def load_env() -> dict[str, str]: + script = ( + "source smom-dbis-138/scripts/load-env.sh >/dev/null && " + "python3 - <<'PY'\n" + "import json, os\n" + "keys = [\n" + " 'PRIVATE_KEY',\n" + " 'ETHEREUM_MAINNET_RPC','OPTIMISM_MAINNET_RPC','CRONOS_RPC_URL','BSC_RPC_URL',\n" + " 'GNOSIS_MAINNET_RPC','POLYGON_MAINNET_RPC','BASE_MAINNET_RPC','ARBITRUM_MAINNET_RPC',\n" + " 'CELO_MAINNET_RPC','AVALANCHE_RPC_URL',\n" + " 'CHAIN_1_UNISWAP_V2_FACTORY','CHAIN_1_UNISWAP_V2_ROUTER',\n" + " 'CHAIN_10_UNISWAP_V2_FACTORY','CHAIN_10_UNISWAP_V2_ROUTER',\n" + " 'CHAIN_25_UNISWAP_V2_FACTORY','CHAIN_25_UNISWAP_V2_ROUTER',\n" + " 'CHAIN_56_UNISWAP_V2_FACTORY','CHAIN_56_UNISWAP_V2_ROUTER',\n" + " 'CHAIN_100_UNISWAP_V2_FACTORY','CHAIN_100_UNISWAP_V2_ROUTER',\n" + " 'CHAIN_137_UNISWAP_V2_FACTORY','CHAIN_137_UNISWAP_V2_ROUTER',\n" + " 'CHAIN_8453_UNISWAP_V2_FACTORY','CHAIN_8453_UNISWAP_V2_ROUTER',\n" + " 'CHAIN_42161_UNISWAP_V2_FACTORY','CHAIN_42161_UNISWAP_V2_ROUTER',\n" + " 'CHAIN_42220_UNISWAP_V2_FACTORY','CHAIN_42220_UNISWAP_V2_ROUTER',\n" + " 'CHAIN_43114_UNISWAP_V2_FACTORY','CHAIN_43114_UNISWAP_V2_ROUTER'\n" + "]\n" + "print(json.dumps({k: os.environ.get(k, '') for k in keys}))\n" + "PY" + ) + rc, out, err = run(["bash", "-lc", script], timeout=10) + if rc != 0: + raise RuntimeError(f"failed to load env: {err or out}") + return json.loads(out) + + +def signer_address(private_key: str) -> str: + rc, out, err = run(["cast", "wallet", "address", "--private-key", private_key], timeout=10) + if rc != 0: + raise RuntimeError(f"failed to derive signer: {err or out}") + return out + + +def chain_entry(status: dict, chain_id: int) -> dict: + return status["chains"].get(str(chain_id)) or status["chains"].get(chain_id) or {} + + +def token_address(status: dict, chain_id: int, symbol: str) -> str: + value = chain_entry(status, chain_id).get("cwTokens", {}).get(symbol) + if isinstance(value, dict): + return value.get("address") or value.get("token") or "" + return value or "" + + +def token_decimals(rpc_url: str, token: str) -> int: + rc, out, _ = run(["cast", "call", token, "decimals()(uint8)", "--rpc-url", rpc_url], timeout=5) + return int(out) if rc == 0 and out else 18 + + +def token_value_human(raw: str, decimals: int) -> str: + raw_int = int(raw.split()[0], 0) + return format(Decimal(raw_int) / (Decimal(10) ** decimals), "f") + + +def min_human(a: str, b: str) -> str: + da = Decimal(a) + db = Decimal(b) + return format(da if da <= db else db, "f") + + +def pair_reserves(rpc_url: str, pair: str) -> tuple[str, str]: + if pair in ("", "0x0000000000000000000000000000000000000000"): + return "0", "0" + rc, out, _ = run(["cast", "call", pair, "getReserves()(uint112,uint112,uint32)", "--rpc-url", rpc_url], timeout=5) + if rc != 0 or not out: + return "0", "0" + parts = out.split() + if len(parts) < 2: + return "0", "0" + return parts[0], parts[1] + + +def main() -> None: + env = load_env() + status = json.loads(DEPLOYMENT_STATUS.read_text()) + signer = signer_address(env["PRIVATE_KEY"]) + + entries: list[dict] = [] + completed = [] + ready_now = [] + needs_funding = [] + + for chain_id in TARGET_CHAINS: + rpc_key = RPC_ENV_KEYS[chain_id] + rpc_url = env.get(rpc_key, "") + factory = env.get(f"CHAIN_{chain_id}_UNISWAP_V2_FACTORY", "") + router = env.get(f"CHAIN_{chain_id}_UNISWAP_V2_ROUTER", "") + cwusdt = token_address(status, chain_id, "cWUSDT") + cwusdc = token_address(status, chain_id, "cWUSDC") + + pair_rc, pair_out, _ = run( + ["cast", "call", factory, "getPair(address,address)(address)", cwusdt, cwusdc, "--rpc-url", rpc_url], + timeout=5, + ) + gas_rc, gas_out, _ = run(["cast", "balance", signer, "--ether", "--rpc-url", rpc_url], timeout=5) + + cwusdt_decimals = token_decimals(rpc_url, cwusdt) + cwusdc_decimals = token_decimals(rpc_url, cwusdc) + + b1_rc, b1_out, _ = run( + ["cast", "call", cwusdt, "balanceOf(address)(uint256)", signer, "--rpc-url", rpc_url], + timeout=5, + ) + b2_rc, b2_out, _ = run( + ["cast", "call", cwusdc, "balanceOf(address)(uint256)", signer, "--rpc-url", rpc_url], + timeout=5, + ) + a1_rc, a1_out, _ = run( + ["cast", "call", cwusdt, "allowance(address,address)(uint256)", signer, router, "--rpc-url", rpc_url], + timeout=5, + ) + a2_rc, a2_out, _ = run( + ["cast", "call", cwusdc, "allowance(address,address)(uint256)", signer, router, "--rpc-url", rpc_url], + timeout=5, + ) + + cwusdt_raw = b1_out.split()[0] if b1_rc == 0 and b1_out else "0" + cwusdc_raw = b2_out.split()[0] if b2_rc == 0 and b2_out else "0" + cwusdt_human = token_value_human(cwusdt_raw, cwusdt_decimals) + cwusdc_human = token_value_human(cwusdc_raw, cwusdc_decimals) + max_seed = min_human(cwusdt_human, cwusdc_human) + gas_human = gas_out if gas_rc == 0 else "0" + pair_address = pair_out if pair_rc == 0 else "" + reserve0_raw, reserve1_raw = pair_reserves(rpc_url, pair_address) + pair_seeded_live = pair_address not in ("", "0x0000000000000000000000000000000000000000") and ( + int(reserve0_raw, 0) > 0 or int(reserve1_raw, 0) > 0 + ) + + has_both_sides = Decimal(cwusdt_human) > 0 and Decimal(cwusdc_human) > 0 + has_gas = Decimal(gas_human) > Decimal("0.001") + funding_ready = has_both_sides and has_gas and pair_address == "0x0000000000000000000000000000000000000000" + + entry = { + "chain_id": chain_id, + "network": NETWORK_NAMES[chain_id], + "phase_1_pair": "cWUSDT/cWUSDC", + "signer": signer, + "rpc_env_key": rpc_key, + "factory": factory, + "router": router, + "pair_address": pair_address, + "pair_exists": pair_address not in ("", "0x0000000000000000000000000000000000000000"), + "pair_seeded_live": pair_seeded_live, + "native_balance": gas_human, + "native_balance_ok_for_ops": has_gas, + "cwusdt": { + "address": cwusdt, + "decimals": cwusdt_decimals, + "balance_raw": cwusdt_raw, + "balance_human": cwusdt_human, + "allowance_raw": a1_out.split()[0] if a1_rc == 0 and a1_out else "0", + }, + "cwusdc": { + "address": cwusdc, + "decimals": cwusdc_decimals, + "balance_raw": cwusdc_raw, + "balance_human": cwusdc_human, + "allowance_raw": a2_out.split()[0] if a2_rc == 0 and a2_out else "0", + }, + "max_equal_seed_human": max_seed, + "reserve0_raw": reserve0_raw, + "reserve1_raw": reserve1_raw, + "execution_status": "completed" if pair_seeded_live else ("ready_now" if funding_ready else "needs_funding"), + "funding_ready_now": funding_ready, + "funding_blockers": [], + } + + if not has_gas: + entry["funding_blockers"].append("native gas below 0.001") + if Decimal(cwusdt_human) <= 0: + entry["funding_blockers"].append("cWUSDT balance is zero") + if Decimal(cwusdc_human) <= 0: + entry["funding_blockers"].append("cWUSDC balance is zero") + if entry["pair_exists"] and not pair_seeded_live: + entry["funding_blockers"].append("pair exists but is not yet seeded") + + if pair_seeded_live: + completed.append(chain_id) + elif funding_ready: + ready_now.append(chain_id) + else: + needs_funding.append(chain_id) + + entries.append(entry) + + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 1 funding readiness", + "purpose": "Live deployer-wallet funding view for seeding cWUSDT/cWUSDC phase-1 pools chain by chain.", + "signer": signer, + "phase_1_pair": "cWUSDT/cWUSDC", + "completed_chain_ids": completed, + "ready_now_chain_ids": ready_now, + "needs_funding_chain_ids": needs_funding, + "entries": entries, + "source_artifacts": [ + "cross-chain-pmm-lps/config/deployment-status.json", + "smom-dbis-138/.env", + "smom-dbis-138/scripts/load-env.sh", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 1 Funding Readiness", + "", + f"- Generated: `{payload['generated_at']}`", + f"- Signer: `{signer}`", + "- Purpose: live deployer-wallet funding view for seeding `cWUSDT/cWUSDC` phase-1 pools chain by chain.", + f"- Completed: {', '.join(f'`{cid}`' for cid in completed) if completed else 'none'}", + f"- Ready now: {', '.join(f'`{cid}`' for cid in ready_now) if ready_now else 'none'}", + f"- Needs funding: {', '.join(f'`{cid}`' for cid in needs_funding) if needs_funding else 'none'}", + "", + "| Chain | Network | Status | Pair Exists | Seeded Live | Native Gas | cWUSDT | cWUSDC | Max Equal Seed |", + "|---|---|---|---|---|---:|---:|---:|---:|", + ] + + for entry in entries: + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | " + f"`{entry['execution_status']}` | " + f"`{str(entry['pair_exists']).lower()}` | " + f"`{str(entry['pair_seeded_live']).lower()}` | " + f"`{entry['native_balance']}` | " + f"`{entry['cwusdt']['balance_human']}` | " + f"`{entry['cwusdc']['balance_human']}` | " + f"`{entry['max_equal_seed_human']}` |" + ) + + lines.extend(["", "## Blockers", ""]) + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']}") + lines.append("") + lines.append(f"- execution status: `{entry['execution_status']}`") + lines.append(f"- pair seeded live: `{str(entry['pair_seeded_live']).lower()}`") + if entry["funding_blockers"]: + for blocker in entry["funding_blockers"]: + lines.append(f"- {blocker}") + else: + lines.append("- no funding blockers") + lines.append("") + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase1_remaining_8_paste_pack.py b/scripts/lib/promod_uniswap_v2_phase1_remaining_8_paste_pack.py new file mode 100644 index 00000000..64aabb68 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase1_remaining_8_paste_pack.py @@ -0,0 +1,112 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +SOURCE = ( + ROOT + / "reports" + / "extraction" + / "promod-uniswap-v2-phase1-bridge-or-mint-runbook-latest.json" +) +DOC = ( + ROOT + / "docs" + / "03-deployment" + / "PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_OPERATOR_PASTE_PACK.md" +) +REPORT = ( + ROOT + / "reports" + / "extraction" + / "promod-uniswap-v2-phase1-remaining-8-operator-paste-pack-latest.json" +) + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 main() -> None: + source = load(SOURCE) + entries = [e for e in source["entries"] if e["chain_id"] not in (1, 137)] + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 1 remaining 8 operator paste pack", + "purpose": "Flat paste-ready operator pack for the remaining eight phase-1 chains after chain 1 and 137.", + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-bridge-or-mint-runbook-latest.json" + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 1 Remaining 8 Operator Paste Pack", + "", + f"- Generated: `{payload['generated_at']}`", + "- Purpose: one flat paste-ready pack for the remaining eight phase-1 chains after `1` and `137`.", + "", + "| Order | Chain | Network | Preferred Path | 3x cUSDT | 3x cUSDC | CW_BRIDGE Env | Selector Env |", + "|---|---|---|---|---:|---:|---|---|", + ] + for idx, entry in enumerate(entries, start=1): + lines.append( + f"| `{idx}` | `{entry['chain_id']}` | {entry['network']} | `{entry['preferred_path']}` | " + f"`{entry['cUSDT_to_bridge_3x']}` | `{entry['cUSDC_to_bridge_3x']}` | " + f"`{entry['cw_bridge_env']}` | `{entry['selector_env'] or 'missing'}` |" + ) + + lines.extend(["", "## Flat Paste Pack", ""]) + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']}") + lines.append("") + lines.append(f"- Preferred path: `{entry['preferred_path']}`") + lines.append(f"- 3x cUSDT from 138: `{entry['cUSDT_to_bridge_3x']}`") + lines.append(f"- 3x cUSDC from 138: `{entry['cUSDC_to_bridge_3x']}`") + lines.append(f"- CW_BRIDGE env: `{entry['cw_bridge_env']}`") + lines.append(f"- Selector env: `{entry['selector_env'] or 'missing'}`") + lines.append("") + if entry.get("bridge_preflight_block"): + lines.append("Bridge preflight:") + lines.append("```bash") + lines.append(entry["bridge_preflight_block"]) + lines.append("```") + lines.append("") + if entry.get("mint_fallback_steps"): + lines.append("Mint fallback:") + for step in entry["mint_fallback_steps"]: + lines.append(f"- `{step['token']}` `{step['amount_human']}`") + lines.append("```bash") + lines.append(step["exact_mint_block"]) + lines.append("```") + lines.append("") + lines.append("Post-funding deploy:") + lines.append("```bash") + lines.append(entry["post_funding_deploy_block"]) + lines.append("```") + lines.append("") + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase1_remaining_8_shell_paste_pack.py b/scripts/lib/promod_uniswap_v2_phase1_remaining_8_shell_paste_pack.py new file mode 100644 index 00000000..df1fbc78 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase1_remaining_8_shell_paste_pack.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +SOURCE = ( + ROOT + / "reports" + / "extraction" + / "promod-uniswap-v2-phase1-remaining-8-operator-paste-pack-latest.json" +) +SCRIPT_OUT = ( + ROOT + / "docs" + / "03-deployment" + / "PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_SHELL_PASTE_PACK.sh" +) +REPORT = ( + ROOT + / "reports" + / "extraction" + / "promod-uniswap-v2-phase1-remaining-8-shell-paste-pack-latest.json" +) + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 main() -> None: + source = load(SOURCE) + entries = source["entries"] + + shell_blocks: list[str] = [] + for entry in entries: + if entry.get("bridge_preflight_block"): + shell_blocks.append(entry["bridge_preflight_block"].strip()) + for step in entry.get("mint_fallback_steps", []): + shell_blocks.append(step["exact_mint_block"].strip()) + shell_blocks.append(entry["post_funding_deploy_block"].strip()) + + script_text = "\n\n".join(shell_blocks) + write_text(SCRIPT_OUT, script_text) + + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 1 remaining 8 shell paste pack", + "purpose": "Pure shell-only paste pack with the exact remaining eight phase-1 blocks in execution order and no headings.", + "output_script": "docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_REMAINING_8_SHELL_PASTE_PACK.sh", + "chain_order": [entry["chain_id"] for entry in entries], + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase1-remaining-8-operator-paste-pack-latest.json" + ], + } + write_json(REPORT, payload) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase2_operator_paste_pack.py b/scripts/lib/promod_uniswap_v2_phase2_operator_paste_pack.py new file mode 100644 index 00000000..5e0c9877 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase2_operator_paste_pack.py @@ -0,0 +1,100 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +SOURCE = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-operator-sequence-latest.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-operator-paste-pack-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE2_OPERATOR_PASTE_PACK.md" + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 main() -> None: + source = load(SOURCE) + entries = [] + for chain in source["entries"]: + for pair in chain["phase_2_pairs"]: + entries.append( + { + "chain_id": chain["chain_id"], + "network": chain["network"], + "pair": pair["pair"], + "amount_env_a": pair["amount_env_a"], + "amount_env_b": pair["amount_env_b"], + "probe_block": pair["probe_block"], + "create_if_absent_block": pair["create_if_absent_block"], + "deploy_block": pair["deploy_block"], + "post_pair_commands": chain["post_pair_commands"], + } + ) + + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 2 operator paste pack", + "purpose": "Flat paste-ready operator pack for every phase-2 cW* wrapped-mesh pair in execution order.", + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase2-operator-sequence-latest.json", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 2 Operator Paste Pack", + "", + f"- Generated: `{payload['generated_at']}`", + "- Purpose: flat paste-ready operator pack for every phase-2 wrapped-mesh pair.", + "", + "| Order | Chain | Network | Pair | Amount Envs |", + "|---|---|---|---|---|", + ] + for idx, entry in enumerate(entries, start=1): + lines.append( + f"| `{idx}` | `{entry['chain_id']}` | {entry['network']} | `{entry['pair']}` | " + f"`{entry['amount_env_a']}`, `{entry['amount_env_b']}` |" + ) + lines.extend(["", "## Flat Paste Pack", ""]) + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']} — `{entry['pair']}`") + lines.append("") + lines.append("Probe:") + lines.append("```bash") + lines.append(entry["probe_block"]) + lines.append("```") + lines.append("") + lines.append("Create if absent:") + lines.append("```bash") + lines.append(entry["create_if_absent_block"]) + lines.append("```") + lines.append("") + lines.append("Deploy:") + lines.append("```bash") + lines.append(entry["deploy_block"]) + lines.append("```") + lines.append("") + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase2_operator_sequence.py b/scripts/lib/promod_uniswap_v2_phase2_operator_sequence.py new file mode 100644 index 00000000..5567f310 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase2_operator_sequence.py @@ -0,0 +1,246 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import re +import time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +PHASE_ORDER = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase-order-latest.json" +DEPLOYMENT_STATUS = ROOT / "cross-chain-pmm-lps" / "config" / "deployment-status.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-operator-sequence-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE2_OPERATOR_SEQUENCE.md" + +RPC_ENV_KEYS = { + 1: ["ETHEREUM_MAINNET_RPC"], + 10: ["OPTIMISM_RPC_URL", "OPTIMISM_MAINNET_RPC"], + 25: ["CRONOS_RPC_URL", "CRONOS_MAINNET_RPC"], + 56: ["BSC_RPC_URL", "BSC_MAINNET_RPC"], + 100: ["GNOSIS_RPC_URL", "GNOSIS_MAINNET_RPC", "GNOSIS_RPC"], + 137: ["POLYGON_MAINNET_RPC", "POLYGON_RPC_URL"], + 8453: ["BASE_RPC_URL", "BASE_MAINNET_RPC"], + 42161: ["ARBITRUM_RPC_URL", "ARBITRUM_MAINNET_RPC"], + 42220: ["CELO_RPC_URL", "CELO_MAINNET_RPC", "CELO_RPC"], + 43114: ["AVALANCHE_RPC_URL", "AVALANCHE_MAINNET_RPC"], +} + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 chain_entry(status: dict, chain_id: int) -> dict: + return status["chains"].get(str(chain_id)) or status["chains"].get(chain_id) or {} + + +def resolve_token(chain_status: dict, symbol: str) -> str: + cw = chain_status.get("cwTokens", {}) + value = cw.get(symbol, "") + if isinstance(value, dict): + return value.get("address") or value.get("token") or "" + return value or "" + + +def sanitize(text: str) -> str: + return re.sub(r"[^A-Z0-9]+", "_", text.upper()).strip("_") + + +def amount_envs(chain_id: int, pair: str) -> tuple[str, str]: + token_a, token_b = pair.split("/") + prefix = f"PHASE2_{chain_id}_{sanitize(token_a)}_{sanitize(token_b)}" + return f"{prefix}_A_RAW", f"{prefix}_B_RAW" + + +def pair_commands(chain_id: int, pair: str, token_a_addr: str, token_b_addr: str, rpc_key: str) -> dict: + factory_var = f"CHAIN_{chain_id}_UNISWAP_V2_FACTORY" + router_var = f"CHAIN_{chain_id}_UNISWAP_V2_ROUTER" + amount_a_env, amount_b_env = amount_envs(chain_id, pair) + token_a, token_b = pair.split("/") + + prelude = [ + "source smom-dbis-138/scripts/load-env.sh >/dev/null", + f'export RPC_URL="${{{rpc_key}}}"', + f'export FACTORY="${{{factory_var}}}"', + f'export ROUTER="${{{router_var}}}"', + f'export TOKEN_A="{token_a_addr}"', + f'export TOKEN_B="{token_b_addr}"', + f'export AMOUNT_A_RAW="${{{amount_a_env}:-}}"', + f'export AMOUNT_B_RAW="${{{amount_b_env}:-}}"', + 'export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"', + 'export DEADLINE="$(( $(date +%s) + 3600 ))"', + 'test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW"', + ] + probe = 'cast call "$FACTORY" \'getPair(address,address)(address)\' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL"' + create = "\n".join( + prelude + + [ + 'PAIR="$(cast call "$FACTORY" \'getPair(address,address)(address)\' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")"', + 'if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then', + ' cast send "$FACTORY" \'createPair(address,address)(address)\' "$TOKEN_A" "$TOKEN_B" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "fi", + ] + ) + deploy = "\n".join( + prelude + + [ + 'cast send "$TOKEN_A" \'approve(address,uint256)(bool)\' "$ROUTER" "$AMOUNT_A_RAW" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "", + 'cast send "$TOKEN_B" \'approve(address,uint256)(bool)\' "$ROUTER" "$AMOUNT_B_RAW" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "", + 'cast send "$ROUTER" \\', + ' \'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)\' \\', + ' "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + ] + ) + return { + "pair": pair, + "token_a": token_a, + "token_b": token_b, + "token_a_address": token_a_addr, + "token_b_address": token_b_addr, + "amount_env_a": amount_a_env, + "amount_env_b": amount_b_env, + "probe_block": probe, + "create_if_absent_block": create, + "deploy_block": deploy, + } + + +def main() -> None: + phase = load(PHASE_ORDER) + status = load(DEPLOYMENT_STATUS) + + entries = [] + for entry in phase["entries"]: + chain_id = entry["chain_id"] + chain_status = chain_entry(status, chain_id) + rpc_keys = RPC_ENV_KEYS.get(chain_id, []) + phase_2_pairs = entry.get("phase_2_full_cw_wrapped_mesh", []) + pair_entries = [] + for pair in phase_2_pairs: + token_a, token_b = pair.split("/") + token_a_addr = resolve_token(chain_status, token_a) + token_b_addr = resolve_token(chain_status, token_b) + if not token_a_addr or not token_b_addr: + continue + pair_entries.append( + pair_commands(chain_id, pair, token_a_addr, token_b_addr, rpc_keys[0] if rpc_keys else "RPC_URL") + ) + + entries.append( + { + "chain_id": chain_id, + "network": entry["network"], + "tier": entry["tier"], + "phase_1_core_rail": entry["phase_1_core_rail"], + "phase_2_pair_count": len(pair_entries), + "phase_2_other_gru_v2_cw_tokens": entry.get("phase_2_other_gru_v2_cw_tokens", []), + "rpc_env_keys": rpc_keys, + "required_uniswap_v2_env_vars": [ + f"CHAIN_{chain_id}_UNISWAP_V2_FACTORY", + f"CHAIN_{chain_id}_UNISWAP_V2_ROUTER", + f"CHAIN_{chain_id}_UNISWAP_V2_START_BLOCK", + ], + "phase_2_pairs": pair_entries, + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh", + ], + } + ) + + payload = { + "generated_at": now(), + "program_name": phase["program_name"], + "purpose": "Exact phase-2 live operator sequence for the full cW* wrapped mesh rollout, using per-pair amount envs rather than fixed sizing assumptions.", + "mainnet_funding_posture": phase["mainnet_funding_posture"], + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase-order-latest.json", + "cross-chain-pmm-lps/config/deployment-status.json", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 2 Operator Sequence", + "", + f"- Generated: `{payload['generated_at']}`", + f"- Program: {payload['program_name']}", + f"- Mainnet funding posture: `{payload['mainnet_funding_posture']['mode']}` via `{', '.join(payload['mainnet_funding_posture']['required_deployer_assets'])}`", + "- Purpose: exact phase-2 live operator sequence for the full `cW*` wrapped mesh rollout.", + "- Funding rule: each pair uses explicit raw amount env vars because BTC, gold, FX, and fiat rails do not share a safe default seed size.", + "", + "| Chain | Network | Phase 2 Pair Count | RPC Keys | Required Env |", + "|---|---|---:|---|---|", + ] + + for entry in entries: + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | `{entry['phase_2_pair_count']}` | " + f"{', '.join(f'`{x}`' for x in entry['rpc_env_keys'])} | " + f"{', '.join(f'`{x}`' for x in entry['required_uniswap_v2_env_vars'])} |" + ) + + lines.extend(["", "## Per-Chain Sequence", ""]) + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']}") + lines.append("") + lines.append(f"- Phase 1 prerequisite: `{entry['phase_1_core_rail']}`") + lines.append(f"- Phase 2 cW* count: `{entry['phase_2_pair_count']}`") + lines.append(f"- Other phase-2 cW* tokens: {', '.join(f'`{x}`' for x in entry['phase_2_other_gru_v2_cw_tokens']) or 'none'}") + lines.append("") + for pair_entry in entry["phase_2_pairs"]: + lines.append(f"#### `{pair_entry['pair']}`") + lines.append("") + lines.append( + f"- Amount envs: `{pair_entry['amount_env_a']}`, `{pair_entry['amount_env_b']}`" + ) + lines.append( + f"- Token addresses: `{pair_entry['token_a']}={pair_entry['token_a_address']}`, `{pair_entry['token_b']}={pair_entry['token_b_address']}`" + ) + lines.append("Probe:") + lines.append("```bash") + lines.append(pair_entry["probe_block"]) + lines.append("```") + lines.append("Create if absent:") + lines.append("```bash") + lines.append(pair_entry["create_if_absent_block"]) + lines.append("```") + lines.append("Deploy:") + lines.append("```bash") + lines.append(pair_entry["deploy_block"]) + lines.append("```") + lines.append("") + lines.append("Post-pair refresh commands:") + for cmd in entry["post_pair_commands"]: + lines.append(f"- `{cmd}`") + lines.append("") + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase2_shell_paste_pack.py b/scripts/lib/promod_uniswap_v2_phase2_shell_paste_pack.py new file mode 100644 index 00000000..f0d82e7f --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase2_shell_paste_pack.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +SOURCE = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-operator-sequence-latest.json" +SCRIPT = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE2_SHELL_PASTE_PACK.sh" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-shell-paste-pack-latest.json" + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 main() -> None: + source = load(SOURCE) + blocks = [] + flat_entries = [] + for chain in source["entries"]: + for pair in chain["phase_2_pairs"]: + flat_entries.append( + { + "chain_id": chain["chain_id"], + "network": chain["network"], + "pair": pair["pair"], + "amount_env_a": pair["amount_env_a"], + "amount_env_b": pair["amount_env_b"], + } + ) + blocks.append(pair["create_if_absent_block"].strip()) + blocks.append("") + blocks.append(pair["deploy_block"].strip()) + blocks.append("") + + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 2 shell paste pack", + "purpose": "Pure shell-only paste pack for every phase-2 wrapped-mesh pair in sequence.", + "entries": flat_entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase2-operator-sequence-latest.json", + ], + } + write_json(REPORT, payload) + write_text(SCRIPT, "\n".join(blocks)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase2_wave1_completion_status.py b/scripts/lib/promod_uniswap_v2_phase2_wave1_completion_status.py new file mode 100644 index 00000000..c8e5758c --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase2_wave1_completion_status.py @@ -0,0 +1,214 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import os +import subprocess +from datetime import datetime, timezone +from pathlib import Path + + +REPO_ROOT = Path(__file__).resolve().parents[2] +PHASE2_SEQUENCE = REPO_ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-operator-sequence-latest.json" +OUT_JSON = REPO_ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-wave1-completion-status-latest.json" +OUT_MD = REPO_ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE2_WAVE1_COMPLETION_STATUS.md" + +WAVE1_LABELS = { + "cWAUDC/cWUSDC", + "cWAUDC/cWUSDT", + "cWEURC/cWUSDC", + "cWEURC/cWUSDT", + "cWGBPC/cWUSDC", + "cWGBPC/cWUSDT", +} + +TOKEN_OVERRIDES = { + 137: { + "cWAUDC/cWUSDC": ("0xFb4B6Cc81211F7d886950158294A44C312abCA29", "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4"), + "cWAUDC/cWUSDT": ("0xFb4B6Cc81211F7d886950158294A44C312abCA29", "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF"), + "cWEURC/cWUSDC": ("0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66", "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4"), + "cWEURC/cWUSDT": ("0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66", "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF"), + "cWGBPC/cWUSDC": ("0x948690147D2e50ffe50C5d38C14125aD6a9FA036", "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4"), + "cWGBPC/cWUSDT": ("0x948690147D2e50ffe50C5d38C14125aD6a9FA036", "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF"), + } +} + +PAIR_ADDRESS_OVERRIDES = { + 137: { + "cWAUDC/cWUSDC": "0x6ffa939d75bd6affe019705f2c9240f97975ffa0", + "cWAUDC/cWUSDT": "0x526a3a38b77d199e8fd07f37597f9ca0fa5a87cd", + "cWEURC/cWUSDC": "0xd5907a692f7e8f650fc5feb8ebb3196fea2069a3", + "cWEURC/cWUSDT": "0x3292c0ed9eec0443635367717047876fe3cdb514", + "cWGBPC/cWUSDC": "0x52786e752be5fb1b18e86959f87b7a59e2c6de6d", + "cWGBPC/cWUSDT": "0x1b6e8484db0cd9c00d39e457c2d126c8983f5390", + } +} + +RPC_KEYS = { + 1: ["ETHEREUM_MAINNET_RPC"], + 10: ["OPTIMISM_MAINNET_RPC"], + 25: ["CRONOS_RPC_URL", "CRONOS_MAINNET_RPC"], + 56: ["BSC_MAINNET_RPC", "BSC_RPC_URL"], + 100: ["GNOSIS_MAINNET_RPC", "GNOSIS_RPC_URL"], + 137: ["POLYGON_MAINNET_RPC", "POLYGON_RPC_URL"], + 8453: ["BASE_MAINNET_RPC", "BASE_RPC_URL"], + 42161: ["ARBITRUM_MAINNET_RPC", "ARBITRUM_RPC_URL"], + 42220: ["CELO_MAINNET_RPC", "CELO_RPC_URL"], + 43114: ["AVALANCHE_MAINNET_RPC", "AVALANCHE_RPC_URL"], +} + +VERIFICATION_STATUS = { + "status": "blocked", + "summary": "Deployment and liquidity rollout is complete, but explorer publication is not fully complete.", + "blockers": [ + "Current local CompliantWrappedToken artifact does not exactly match deployed runtime bytecode.", + "forge verify-contract cannot use the historical deploy profile directly in this environment.", + "Some explorer backends require paid API access or manual submission paths.", + ], +} + + +def load_env() -> dict[str, str]: + env_dump = Path("/tmp/promod_phase2_env_snapshot.txt") + subprocess.run( + [ + "bash", + "-lc", + f"cd {REPO_ROOT / 'smom-dbis-138'} && source scripts/load-env.sh >/dev/null && env | sort > {env_dump}", + ], + check=True, + ) + env: dict[str, str] = {} + for line in env_dump.read_text().splitlines(): + if "=" in line: + k, v = line.split("=", 1) + env[k] = v + return env + + +def cast_call(rpc_url: str, to: str, signature: str, *args: str) -> str: + return subprocess.check_output( + ["cast", "call", to, signature, *args, "--rpc-url", rpc_url], + text=True, + timeout=30, + ).strip() + + +def write_json(data: dict) -> None: + OUT_JSON.parent.mkdir(parents=True, exist_ok=True) + OUT_JSON.write_text(json.dumps(data, indent=2) + "\n") + + +def write_markdown(data: dict) -> None: + lines: list[str] = [] + lines.append("# Promod Uniswap V2 Phase 2 Wave 1 Completion Status") + lines.append("") + lines.append(f"**Generated:** {data['generated_at']}") + lines.append("") + lines.append(f"**Overall Status:** `{data['overall_status']}`") + lines.append("") + lines.append(f"**Completed Chains:** `{', '.join(str(x) for x in data['completed_chain_ids'])}`") + lines.append("") + lines.append("## Reserve Verification") + lines.append("") + lines.append("| Chain | Network | Pair | Pair Address | Reserves | Status |") + lines.append("|---|---|---|---|---|---|") + for chain in data["chains"]: + for pair in chain["wave1_pairs"]: + lines.append( + f"| `{chain['chain_id']}` | {chain['network']} | `{pair['pair']}` | `{pair['pair_address']}` | `{pair['reserves']}` | `{pair['status']}` |" + ) + lines.append("") + lines.append("## Explorer Publication") + lines.append("") + lines.append(f"**Status:** `{data['verification_status']['status']}`") + lines.append("") + lines.append(data["verification_status"]["summary"]) + lines.append("") + for blocker in data["verification_status"]["blockers"]: + lines.append(f"- {blocker}") + lines.append("") + OUT_MD.parent.mkdir(parents=True, exist_ok=True) + OUT_MD.write_text("\n".join(lines) + "\n") + + +def main() -> None: + env = load_env() + sequence = json.loads(PHASE2_SEQUENCE.read_text()) + + chains_out = [] + completed_chain_ids = [] + + for entry in sequence["entries"]: + chain_id = entry["chain_id"] + rpc_url = next((env.get(k) for k in RPC_KEYS[chain_id] if env.get(k)), None) + if not rpc_url: + raise RuntimeError(f"Missing RPC URL for chain {chain_id}") + factory = env[f"CHAIN_{chain_id}_UNISWAP_V2_FACTORY"] + + wave1_pairs = [] + for pair in entry["phase_2_pairs"]: + if pair["pair"] not in WAVE1_LABELS: + continue + token_a = pair["token_a_address"] + token_b = pair["token_b_address"] + if chain_id in TOKEN_OVERRIDES and pair["pair"] in TOKEN_OVERRIDES[chain_id]: + token_a, token_b = TOKEN_OVERRIDES[chain_id][pair["pair"]] + pair_address = PAIR_ADDRESS_OVERRIDES.get(chain_id, {}).get(pair["pair"]) + if not pair_address: + pair_address = cast_call( + rpc_url, + factory, + "getPair(address,address)(address)", + token_a, + token_b, + ) + reserves = "PAIR_NOT_FOUND" + status = "missing" + if pair_address.lower() != "0x0000000000000000000000000000000000000000": + reserves = cast_call( + rpc_url, + pair_address, + "getReserves()((uint112,uint112,uint32))", + ) + status = "complete" if "(1000000000 [1e9], 1000000000 [1e9]" in reserves else "unexpected_reserves" + wave1_pairs.append( + { + "pair": pair["pair"], + "pair_address": pair_address, + "reserves": reserves, + "status": status, + } + ) + + chain_status = "complete" if all(p["status"] == "complete" for p in wave1_pairs) else "incomplete" + if chain_status == "complete": + completed_chain_ids.append(chain_id) + chains_out.append( + { + "chain_id": chain_id, + "network": entry["network"], + "status": chain_status, + "wave1_pairs": wave1_pairs, + } + ) + + data = { + "generated_at": datetime.now(timezone.utc).isoformat(), + "program_name": "promod-uniswap-v2-phase2-wave1-completion-status", + "overall_status": "complete" if len(completed_chain_ids) == len(chains_out) else "incomplete", + "completed_chain_ids": completed_chain_ids, + "verification_status": VERIFICATION_STATUS, + "chains": chains_out, + "source_artifacts": { + "phase2_operator_sequence": str(PHASE2_SEQUENCE.relative_to(REPO_ROOT)), + }, + } + + write_json(data) + write_markdown(data) + print(OUT_JSON) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase2_wave2_operator_paste_pack.py b/scripts/lib/promod_uniswap_v2_phase2_wave2_operator_paste_pack.py new file mode 100644 index 00000000..32fa1b80 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase2_wave2_operator_paste_pack.py @@ -0,0 +1,100 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +SOURCE = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-wave2-operator-sequence-latest.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-wave2-operator-paste-pack-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_PASTE_PACK.md" + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 main() -> None: + source = load(SOURCE) + entries = [] + for chain in source["entries"]: + for pair in chain["wave2_pairs"]: + entries.append( + { + "chain_id": chain["chain_id"], + "network": chain["network"], + "pair": pair["pair"], + "amount_env_a": pair["amount_env_a"], + "amount_env_b": pair["amount_env_b"], + "probe_block": pair["probe_block"], + "create_if_absent_block": pair["create_if_absent_block"], + "deploy_block": pair["deploy_block"], + "post_pair_commands": chain["post_pair_commands"], + } + ) + + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 2 wave 2 operator paste pack", + "purpose": "Flat paste-ready operator pack for every phase-2 wave-2 cW* wrapped-mesh pair in execution order.", + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase2-wave2-operator-sequence-latest.json", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 2 Wave 2 Operator Paste Pack", + "", + f"- Generated: `{payload['generated_at']}`", + "- Purpose: flat paste-ready operator pack for every phase-2 wave-2 wrapped-mesh pair.", + "", + "| Order | Chain | Network | Pair | Amount Envs |", + "|---|---|---|---|---|", + ] + for idx, entry in enumerate(entries, start=1): + lines.append( + f"| `{idx}` | `{entry['chain_id']}` | {entry['network']} | `{entry['pair']}` | " + f"`{entry['amount_env_a']}`, `{entry['amount_env_b']}` |" + ) + lines.extend(["", "## Flat Paste Pack", ""]) + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']} — `{entry['pair']}`") + lines.append("") + lines.append("Probe:") + lines.append("```bash") + lines.append(entry["probe_block"]) + lines.append("```") + lines.append("") + lines.append("Create if absent:") + lines.append("```bash") + lines.append(entry["create_if_absent_block"]) + lines.append("```") + lines.append("") + lines.append("Deploy:") + lines.append("```bash") + lines.append(entry["deploy_block"]) + lines.append("```") + lines.append("") + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase2_wave2_operator_sequence.py b/scripts/lib/promod_uniswap_v2_phase2_wave2_operator_sequence.py new file mode 100644 index 00000000..0c474f99 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase2_wave2_operator_sequence.py @@ -0,0 +1,249 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import re +import time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +DEPLOYMENT_STATUS = ROOT / "cross-chain-pmm-lps" / "config" / "deployment-status.json" +GAP_REPORT = ROOT / "reports" / "extraction" / "promod-gru-v2-full-mesh-gap-report-latest.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-wave2-operator-sequence-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE2_WAVE2_OPERATOR_SEQUENCE.md" + +RPC_ENV_KEYS = { + 1: ["ETHEREUM_MAINNET_RPC"], + 10: ["OPTIMISM_RPC_URL", "OPTIMISM_MAINNET_RPC"], + 25: ["CRONOS_RPC_URL", "CRONOS_MAINNET_RPC"], + 56: ["BSC_RPC_URL", "BSC_MAINNET_RPC"], + 100: ["GNOSIS_RPC_URL", "GNOSIS_MAINNET_RPC", "GNOSIS_RPC"], + 137: ["POLYGON_MAINNET_RPC", "POLYGON_RPC_URL"], + 8453: ["BASE_RPC_URL", "BASE_MAINNET_RPC"], + 42161: ["ARBITRUM_RPC_URL", "ARBITRUM_MAINNET_RPC"], + 42220: ["CELO_RPC_URL", "CELO_MAINNET_RPC", "CELO_RPC"], + 43114: ["AVALANCHE_RPC_URL", "AVALANCHE_MAINNET_RPC"], +} + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 chain_entry(status: dict, chain_id: int) -> dict: + return status["chains"].get(str(chain_id)) or status["chains"].get(chain_id) or {} + + +def resolve_token(chain_status: dict, symbol: str) -> str: + cw = chain_status.get("cwTokens", {}) + value = cw.get(symbol, "") + if isinstance(value, dict): + return value.get("address") or value.get("token") or "" + return value or "" + + +def sanitize(text: str) -> str: + return re.sub(r"[^A-Z0-9]+", "_", text.upper()).strip("_") + + +def amount_envs(chain_id: int, pair: str) -> tuple[str, str]: + token_a, token_b = pair.split("/") + prefix = f"PHASE2_WAVE2_{chain_id}_{sanitize(token_a)}_{sanitize(token_b)}" + return f"{prefix}_A_RAW", f"{prefix}_B_RAW" + + +def pair_commands(chain_id: int, pair: str, token_a_addr: str, token_b_addr: str, rpc_key: str) -> dict: + factory_var = f"CHAIN_{chain_id}_UNISWAP_V2_FACTORY" + router_var = f"CHAIN_{chain_id}_UNISWAP_V2_ROUTER" + amount_a_env, amount_b_env = amount_envs(chain_id, pair) + token_a, token_b = pair.split("/") + + prelude = [ + "source smom-dbis-138/scripts/load-env.sh >/dev/null", + f'export RPC_URL="${{{rpc_key}}}"', + f'export FACTORY="${{{factory_var}}}"', + f'export ROUTER="${{{router_var}}}"', + f'export TOKEN_A="{token_a_addr}"', + f'export TOKEN_B="{token_b_addr}"', + f'export AMOUNT_A_RAW="${{{amount_a_env}:-}}"', + f'export AMOUNT_B_RAW="${{{amount_b_env}:-}}"', + 'export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"', + 'export DEADLINE="$(( $(date +%s) + 3600 ))"', + 'test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW"', + ] + probe = 'cast call "$FACTORY" \'getPair(address,address)(address)\' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL"' + create = "\n".join( + prelude + + [ + 'PAIR="$(cast call "$FACTORY" \'getPair(address,address)(address)\' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")"', + 'if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then', + ' cast send "$FACTORY" \'createPair(address,address)(address)\' "$TOKEN_A" "$TOKEN_B" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "fi", + ] + ) + deploy = "\n".join( + prelude + + [ + 'cast send "$TOKEN_A" \'approve(address,uint256)(bool)\' "$ROUTER" "$AMOUNT_A_RAW" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "", + 'cast send "$TOKEN_B" \'approve(address,uint256)(bool)\' "$ROUTER" "$AMOUNT_B_RAW" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + "", + 'cast send "$ROUTER" \\', + ' \'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)\' \\', + ' "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \\', + ' --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"', + ] + ) + return { + "pair": pair, + "token_a": token_a, + "token_b": token_b, + "token_a_address": token_a_addr, + "token_b_address": token_b_addr, + "amount_env_a": amount_a_env, + "amount_env_b": amount_b_env, + "probe_block": probe, + "create_if_absent_block": create, + "deploy_block": deploy, + } + + +def main() -> None: + status = load(DEPLOYMENT_STATUS) + gap = load(GAP_REPORT) + + entries = [] + total_pairs = 0 + for row in gap["chains"]: + chain_id = row["chain_id"] + chain_status = chain_entry(status, chain_id) + rpc_keys = RPC_ENV_KEYS.get(chain_id, []) + remaining_assets = row.get("remaining_wrapped_mesh_assets_after_wave1", []) + recommended_pairs = row.get("recommended_next_wrapped_mesh_pairs", []) + pair_entries = [] + for pair in recommended_pairs: + token_a, token_b = pair.split("/") + token_a_addr = resolve_token(chain_status, token_a) + token_b_addr = resolve_token(chain_status, token_b) + if not token_a_addr or not token_b_addr: + continue + pair_entries.append( + pair_commands(chain_id, pair, token_a_addr, token_b_addr, rpc_keys[0] if rpc_keys else "RPC_URL") + ) + total_pairs += len(pair_entries) + entries.append( + { + "chain_id": chain_id, + "network": row["network"], + "bridge_available": row["bridge_available"], + "remaining_wrapped_mesh_assets_after_wave1": remaining_assets, + "wave2_pair_count": len(pair_entries), + "rpc_env_keys": rpc_keys, + "required_uniswap_v2_env_vars": [ + f"CHAIN_{chain_id}_UNISWAP_V2_FACTORY", + f"CHAIN_{chain_id}_UNISWAP_V2_ROUTER", + f"CHAIN_{chain_id}_UNISWAP_V2_START_BLOCK", + ], + "wave2_pairs": pair_entries, + "post_pair_commands": [ + "bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh", + "python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered", + "node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json", + "bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh", + ], + } + ) + + payload = { + "generated_at": now(), + "program_name": "promod-uniswap-v2-phase2-wave2-operator-sequence", + "purpose": "Exact phase-2 wave-2 operator sequence for the remaining GRU v2 cW* wrapped mesh assets after wave 1, using per-pair amount envs and current live gap state.", + "total_wave2_pair_count": total_pairs, + "source_artifacts": [ + "reports/extraction/promod-gru-v2-full-mesh-gap-report-latest.json", + "cross-chain-pmm-lps/config/deployment-status.json", + ], + "entries": entries, + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase 2 Wave 2 Operator Sequence", + "", + f"- Generated: `{payload['generated_at']}`", + f"- Program: `{payload['program_name']}`", + "- Purpose: exact phase-2 wave-2 operator sequence for the remaining `cW*` wrapped-mesh rollout after wave 1.", + "- Funding rule: each pair uses explicit raw amount env vars because BTC, gold, FX, and fiat rails do not share a safe default seed size.", + f"- Total wave-2 pairs: `{payload['total_wave2_pair_count']}`", + "", + "| Chain | Network | Remaining Assets | Wave 2 Pair Count | RPC Keys | Required Env |", + "|---|---|---|---:|---|---|", + ] + + for entry in entries: + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | " + f"{', '.join(f'`{x}`' for x in entry['remaining_wrapped_mesh_assets_after_wave1']) or '`none`'} | " + f"`{entry['wave2_pair_count']}` | " + f"{', '.join(f'`{x}`' for x in entry['rpc_env_keys'])} | " + f"{', '.join(f'`{x}`' for x in entry['required_uniswap_v2_env_vars'])} |" + ) + + lines.extend(["", "## Per-Chain Sequence", ""]) + for entry in entries: + lines.append(f"### Chain `{entry['chain_id']}` — {entry['network']}") + lines.append("") + lines.append(f"- Bridge available: `{entry['bridge_available']}`") + lines.append( + f"- Remaining wave-2 assets: {', '.join(f'`{x}`' for x in entry['remaining_wrapped_mesh_assets_after_wave1']) or '`none`'}" + ) + lines.append(f"- Wave-2 pair count: `{entry['wave2_pair_count']}`") + lines.append("") + for pair_entry in entry["wave2_pairs"]: + lines.append(f"#### `{pair_entry['pair']}`") + lines.append("") + lines.append(f"- Amount envs: `{pair_entry['amount_env_a']}`, `{pair_entry['amount_env_b']}`") + lines.append( + f"- Token addresses: `{pair_entry['token_a']}={pair_entry['token_a_address']}`, `{pair_entry['token_b']}={pair_entry['token_b_address']}`" + ) + lines.append("Probe:") + lines.append("```bash") + lines.append(pair_entry["probe_block"]) + lines.append("```") + lines.append("Create if absent:") + lines.append("```bash") + lines.append(pair_entry["create_if_absent_block"]) + lines.append("```") + lines.append("Deploy:") + lines.append("```bash") + lines.append(pair_entry["deploy_block"]) + lines.append("```") + lines.append("") + lines.append("Post-pair refresh commands:") + for cmd in entry["post_pair_commands"]: + lines.append(f"- `{cmd}`") + lines.append("") + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase2_wave2_shell_paste_pack.py b/scripts/lib/promod_uniswap_v2_phase2_wave2_shell_paste_pack.py new file mode 100644 index 00000000..f730d0fd --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase2_wave2_shell_paste_pack.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +SOURCE = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-wave2-operator-sequence-latest.json" +SCRIPT = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE2_WAVE2_SHELL_PASTE_PACK.sh" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase2-wave2-shell-paste-pack-latest.json" + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, 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 main() -> None: + source = load(SOURCE) + blocks = [] + flat_entries = [] + for chain in source["entries"]: + for pair in chain["wave2_pairs"]: + flat_entries.append( + { + "chain_id": chain["chain_id"], + "network": chain["network"], + "pair": pair["pair"], + "amount_env_a": pair["amount_env_a"], + "amount_env_b": pair["amount_env_b"], + } + ) + blocks.append(pair["create_if_absent_block"].strip()) + blocks.append("") + blocks.append(pair["deploy_block"].strip()) + blocks.append("") + + payload = { + "generated_at": now(), + "program_name": "Mr. Promod Uniswap V2 phase 2 wave 2 shell paste pack", + "purpose": "Pure shell-only paste pack for every phase-2 wave-2 wrapped-mesh pair in sequence.", + "entries": flat_entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-phase2-wave2-operator-sequence-latest.json", + ], + } + write_json(REPORT, payload) + write_text(SCRIPT, "\n".join(blocks)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_phase_order.py b/scripts/lib/promod_uniswap_v2_phase_order.py new file mode 100644 index 00000000..b6d213dc --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_phase_order.py @@ -0,0 +1,110 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +from pathlib import Path +import json +import time + +ROOT = Path(__file__).resolve().parents[2] +LIQUIDITY_PROGRAM = ROOT / "reports" / "extraction" / "promod-uniswap-v2-liquidity-program-latest.json" +FIRST_MATRIX = ROOT / "reports" / "extraction" / "promod-uniswap-v2-first-deployment-target-matrix-latest.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-phase-order-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PHASE_ORDER.md" + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load(path: Path): + return json.loads(path.read_text()) + + +def write_json(path: Path, payload): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, indent=2) + "\n") + + +def write_text(path: Path, text: str): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text.rstrip() + "\n") + + +def main(): + liquidity = load(LIQUIDITY_PROGRAM) + first = load(FIRST_MATRIX) + first_by_chain = {entry["chain_id"]: entry for entry in first["entries"]} + + entries = [] + for entry in liquidity["entries"]: + chain_id = entry["chain_id"] + first_entry = first_by_chain.get(chain_id, {}) + phase_1 = first_entry.get("first_pair") + phase_2 = first_entry.get("next_wrapped_expansion_pairs", []) + phase_3 = entry.get("settlement_phase_pairs", []) + + entries.append( + { + "chain_id": chain_id, + "network": entry["network"], + "tier": entry["tier"], + "hub_stable": entry["hub_stable"], + "phase_1_core_rail": phase_1, + "phase_1_required_tokens": first_entry.get("required_tokens", []), + "phase_2_full_cw_wrapped_mesh": phase_2, + "phase_2_other_gru_v2_cw_tokens": first_entry.get("other_gru_v2_cw_tokens", []), + "phase_3_settlement_rails": phase_3, + "remaining_live_blockers": first_entry.get("remaining_live_blockers", []), + "post_phase_1_commands": first_entry.get("post_deploy_commands", []), + } + ) + + payload = { + "generated_at": now(), + "program_name": liquidity["program_name"], + "purpose": "Strict phase-order artifact for Mr. Promod's Uniswap V2 rollout: phase 1 core rail -> phase 2 full cW* wrapped mesh -> phase 3 settlement rails.", + "mainnet_funding_posture": liquidity["mainnet_funding_posture"], + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-liquidity-program-latest.json", + "reports/extraction/promod-uniswap-v2-first-deployment-target-matrix-latest.json", + ], + } + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Phase Order", + "", + f"- Generated: `{payload['generated_at']}`", + f"- Program: {payload['program_name']}", + f"- Mainnet funding posture: `{payload['mainnet_funding_posture']['mode']}` via `{', '.join(payload['mainnet_funding_posture']['required_deployer_assets'])}`", + "- Purpose: strict rollout order for each chain: phase 1 core rail -> phase 2 full cW* wrapped mesh -> phase 3 settlement rails.", + "", + "| Chain | Network | Phase 1 Core Rail | Phase 2 Full cW* Wrapped Mesh | Phase 3 Settlement Rails |", + "|---|---|---|---|---|", + ] + + for entry in entries: + phase_2 = ", ".join(f"`{pair}`" for pair in entry["phase_2_full_cw_wrapped_mesh"][:10]) or "—" + phase_3 = ", ".join(f"`{pair}`" for pair in entry["phase_3_settlement_rails"]) or "—" + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | `{entry['phase_1_core_rail']}` | {phase_2} | {phase_3} |" + ) + + lines.extend( + [ + "", + "## Phase Rules", + "", + "- Phase 1 opens the network with the standardized core rail `cWUSDT/cWUSDC` when available.", + "- Phase 2 expands the rest of the documented GRU v2 `cW*` assets into wrapped pairs against `cWUSDC` and `cWUSDT`.", + "- Phase 3 adds canonical settlement rails only after the wrapped mesh exists and the chain is ready to expose deeper stable exits.", + ] + ) + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/promod_uniswap_v2_promotion_gates.py b/scripts/lib/promod_uniswap_v2_promotion_gates.py new file mode 100644 index 00000000..0e64de28 --- /dev/null +++ b/scripts/lib/promod_uniswap_v2_promotion_gates.py @@ -0,0 +1,251 @@ +#!/usr/bin/env python3 +from pathlib import Path +import json +import time + +ROOT = Path(__file__).resolve().parents[2] +PROMOD_REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-liquidity-program-latest.json" +DEPLOYMENT_STATUS = ROOT / "cross-chain-pmm-lps" / "config" / "deployment-status.json" +ENV_PATH = ROOT / "smom-dbis-138" / ".env" +LIVE_DISCOVERY = ROOT / "reports" / "extraction" / "promod-uniswap-v2-live-pair-discovery-latest.json" +REPORT = ROOT / "reports" / "extraction" / "promod-uniswap-v2-promotion-gates-latest.json" +DOC = ROOT / "docs" / "03-deployment" / "PROMOD_UNISWAP_V2_PROMOTION_GATES.md" + +UNIV2_CODE_SUPPORTED = {1, 10, 25, 56, 100, 137, 138, 1111, 8453, 42161, 42220, 43114, 651940} + + +def load(path: Path): + return json.loads(path.read_text()) + + +def load_env_file(path: Path): + values = {} + if not path.exists(): + return values + for raw_line in path.read_text().splitlines(): + line = raw_line.strip() + if not line or line.startswith("#") or "=" not in line: + continue + key, value = line.split("=", 1) + values[key.strip()] = value.strip() + return values + + +def write_json(path: Path, payload): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, indent=2) + "\n") + + +def write_text(path: Path, text: str): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text.rstrip() + "\n") + + +def now(): + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def build_env_vars(chain_id: int): + prefix = f"CHAIN_{chain_id}_UNISWAP_V2" + return [ + { + "name": f"{prefix}_FACTORY", + "purpose": "Factory address used by token-aggregation to discover PairCreated events and pair addresses.", + }, + { + "name": f"{prefix}_ROUTER", + "purpose": "Router address used for quote execution assumptions and operator documentation.", + }, + { + "name": f"{prefix}_START_BLOCK", + "purpose": "Start block for indexer backfill so the first live pool is visible without scanning the full chain.", + }, + ] + + +def build_required_registry_records(chain_id: int, hub_stable: str, documented_cw_tokens: list[str], all_pairs: list[str]): + required_cw_tokens = sorted({pair.split("/")[0] for pair in all_pairs if pair.split("/")[0].startswith("cW")}) + records = [] + for symbol in required_cw_tokens: + records.append( + { + "path": f"chains[{chain_id}].cwTokens.{symbol}", + "purpose": f"Document the deployed {symbol} address on this chain.", + } + ) + records.append( + { + "path": f"chains[{chain_id}].anchorAddresses.{hub_stable}", + "purpose": f"Document the hub stable address used by settlement-phase pairs on this chain.", + } + ) + records.append( + { + "path": f"chains[{chain_id}].pmmPools[]", + "purpose": "Record each promoted Uniswap V2 pair as a source-of-truth pool entry using base, quote, and poolAddress until a dedicated uniswapV2Pools registry is introduced.", + "required_fields": ["base", "quote", "poolAddress"], + } + ) + records.append( + { + "path": f"ai-mcp-pmm-controller/config/allowlist-{chain_id}.json", + "purpose": "Expose the promoted pool to MCP/API visibility after it is written to deployment-status.json.", + } + ) + return records + + +def main(): + promod = load(PROMOD_REPORT) + deployment = load(DEPLOYMENT_STATUS) + env_values = load_env_file(ENV_PATH) + live_discovery = load(LIVE_DISCOVERY) if LIVE_DISCOVERY.exists() else {"entries": []} + discovery_by_chain = {str(entry["chain_id"]): entry for entry in live_discovery.get("entries", [])} + + entries = [] + blocked_chain_count = 0 + + for entry in promod["entries"]: + chain_id = int(entry["chain_id"]) + chain_status = deployment["chains"].get(str(chain_id), {}) + all_pairs = entry["wrapped_depth_phase_pairs"] + entry["settlement_phase_pairs"] + code_support = chain_id in UNIV2_CODE_SUPPORTED + env_var_names = [item["name"] for item in build_env_vars(chain_id)] + env_present = all(env_values.get(name) for name in env_var_names) + discovered_live = any(row.get("live") for row in discovery_by_chain.get(str(chain_id), {}).get("pairsChecked", [])) + recorded_rows = chain_status.get("uniswapV2Pools", []) + recorded_live = any( + row.get("base") in {pair.split("/")[0] for pair in all_pairs} + and row.get("quote") in {pair.split("/")[1] for pair in all_pairs} + for row in recorded_rows + ) + blockers = [] + if not code_support: + blockers.append( + "token-aggregation dex-factories.ts does not yet expose CHAIN__UNISWAP_V2_* wiring for this chain." + ) + if not env_present: + blockers.append( + "Uniswap V2 factory/router/start-block env values are not fully documented in smom-dbis-138/.env for this chain." + ) + if not discovered_live: + blockers.append("No live cW Uniswap V2-compatible pair is currently discoverable for this chain.") + if not recorded_live: + blockers.append("No live cW Uniswap V2-compatible pair is currently recorded in deployment-status.json for this chain.") + blockers.extend( + blocker + for blocker in entry.get("blockers", []) + if "Uniswap V2 factory/router addresses are not documented in-repo" not in blocker + and "New Uniswap V2 pools must be added to token-aggregation indexing and MCP/API visibility before promotion." not in blocker + ) + + promotion_ready = code_support and env_present and discovered_live and recorded_live + if blockers: + blocked_chain_count += 1 + + pool_templates = [] + for pair in all_pairs: + base, quote = pair.split("/") + pool_templates.append( + { + "base": base, + "quote": quote, + "poolAddress": "0x...", + } + ) + + entries.append( + { + "chain_id": chain_id, + "network": entry["network"], + "tier": entry["tier"], + "hub_stable": entry["hub_stable"], + "code_support_status": "ready" if code_support else "blocked", + "env_values_present": env_present, + "exact_env_vars_to_fill": build_env_vars(chain_id), + "required_registry_records": build_required_registry_records( + chain_id, + entry["hub_stable"], + entry["documented_cw_tokens"], + all_pairs, + ), + "pool_entry_templates": pool_templates, + "existing_documented_cw_tokens": entry["documented_cw_tokens"], + "existing_anchor_addresses": chain_status.get("anchorAddresses", {}), + "promotion_gate": { + "factory_router_env_present": env_present, + "indexer_support_present": code_support, + "pool_registry_recorded": recorded_live, + "mcp_or_api_visibility_added": env_present, + "promotion_ready": promotion_ready, + }, + "blocking_items": blockers, + } + ) + + payload = { + "generated_at": now(), + "program_name": promod["program_name"], + "purpose": "Exact per-chain env vars and registry records required before any Mr. Promod Uniswap V2 pool can be promoted as live.", + "mainnet_funding_posture": promod["mainnet_funding_posture"], + "summary": { + "chain_count": len(entries), + "blocked_chain_count": blocked_chain_count, + "note": "All target public chains remain blocked for live promotion until Uniswap V2 env wiring, registry entries, and pool/indexer visibility are complete.", + }, + "entries": entries, + "source_artifacts": [ + "reports/extraction/promod-uniswap-v2-liquidity-program-latest.json", + "reports/extraction/promod-uniswap-v2-live-pair-discovery-latest.json", + "cross-chain-pmm-lps/config/deployment-status.json", + "smom-dbis-138/services/token-aggregation/src/config/dex-factories.ts", + ], + } + + write_json(REPORT, payload) + + lines = [ + "# Mr. Promod Uniswap V2 Promotion Gates", + "", + f"- Generated: `{payload['generated_at']}`", + "- Purpose: exact per-chain env vars and registry records required before the first live Uniswap V2 pool can be promoted.", + f"- Mainnet funding posture: `{payload['mainnet_funding_posture']['mode']}` via `{', '.join(payload['mainnet_funding_posture']['required_deployer_assets'])}`", + f"- Chains in scope: `{payload['summary']['chain_count']}`", + f"- Currently blocked: `{payload['summary']['blocked_chain_count']}`", + "", + "## Global Rule", + "", + "- Promotion requires all of the following on the target chain: Uniswap V2 factory/router/start-block env set, indexer code support present, a live pair discoverable on-chain, and the pool address recorded in `deployment-status.json`.", + "", + "## Operator Table", + "", + "| Chain | Network | Code Support | Exact Env Vars To Fill | Registry Records To Fill |", + "|---|---|---|---|---|", + ] + + for entry in entries: + env_vars = ", ".join(f"`{item['name']}`" for item in entry["exact_env_vars_to_fill"]) + registry = ", ".join(f"`{item['path']}`" for item in entry["required_registry_records"][:3]) + lines.append( + f"| `{entry['chain_id']}` | {entry['network']} | `{entry['code_support_status']}` | {env_vars} | {registry} |" + ) + + lines.extend( + [ + "", + "## First Live Pool Minimum Checklist", + "", + "1. Add `CHAIN__UNISWAP_V2_FACTORY`, `CHAIN__UNISWAP_V2_ROUTER`, and `CHAIN__UNISWAP_V2_START_BLOCK` for the target chain.", + "2. Extend token-aggregation code support for that chain if `code_support_status` is `blocked`.", + "3. Create the pool on-chain and record its `base`, `quote`, and `poolAddress` in `cross-chain-pmm-lps/config/deployment-status.json`.", + "4. Rebuild live-pair discovery and promotion-gate artifacts so the new pair is visible to operator tooling.", + "5. Only then promote the pair as live in operator-facing docs or routing artifacts.", + ] + ) + + write_text(DOC, "\n".join(lines)) + print(REPORT) + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/source_to_cex_execution_plan.py b/scripts/lib/source_to_cex_execution_plan.py new file mode 100644 index 00000000..b0c49772 --- /dev/null +++ b/scripts/lib/source_to_cex_execution_plan.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 +from pathlib import Path +import json, time +ROOT = Path(__file__).resolve().parents[2] +REPORTS = ROOT / "reports" / "extraction" +DOCS = ROOT / "docs" / "03-deployment" +CONFIG = ROOT / "config" / "extraction" + +def load(p): return json.loads(p.read_text()) +def write(p, data): p.parent.mkdir(parents=True, exist_ok=True); p.write_text(json.dumps(data, indent=2)+"\n") +def write_text(p, text): p.parent.mkdir(parents=True, exist_ok=True); p.write_text(text.rstrip()+"\n") +def now(): return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) +review = load(REPORTS / "immediate-and-same-day-corridor-assets-latest.json") +strict = load(REPORTS / "strict-operator-public-liquidity-table-latest.json") +inv = load(CONFIG / "additional-wallet-inventory.json") +policy = load(CONFIG / "source-to-cex-production-policy.json") +sinks = [a for a in inv.get("offchain_accounts", []) if a.get("include_in_baseline")] +payload = { + "generated_at": now(), + "strategy_frame": policy["default_route_model"], + "operator_rule": "treat on-chain Mainnet cW/canonical pools as bounded conversion handshakes before external execution", + "production_enabled": policy.get("production_enabled", False), + "mainnet_funding_posture": { + "mode": "dual-rail", + "required_deployer_assets": ["cWUSDC", "cWUSDT"], + "primary_normalization_rail": "cWUSDC -> USDC", + "support_normalization_rail": "cWUSDT -> cWUSDC -> USDC", + "preferred_final_settlement_asset": "USDC", + "notes": [ + "The deployer wallet should maintain both Mainnet wrapped stables.", + "This dual-rail funding posture supports both the primary USDC settlement path and the cUSDT support rail." + ] + }, + "source_bucket_totals_usd": review["bucket_subtotals_usd"], + "source_bucket_counts": review["bucket_counts"], + "production_sinks": sinks, + "entries": [ + {"source_asset":"cUSDC","source_location":"Chain 138","source_bucket":"same_day_corridor","bridge_output":"cWUSDC on Ethereum Mainnet","preferred_normalization":"cWUSDC -> USDC","aggregator_decision_set":["direct cWUSDC -> USDC","independent USDC sink if live","RFQ wrapped-to-USDC if available"],"preferred_cex_deposit_asset":"USDC","fallback_path":"bridge cUSDC -> cWUSDC, then use best available Mainnet USDC normalization route with capped public-pool usage","execution_model":"bridge first, normalize on Mainnet, then deposit USDC to CEX"}, + {"source_asset":"cUSDT","source_location":"Chain 138","source_bucket":"same_day_corridor","bridge_output":"cWUSDT on Ethereum Mainnet","preferred_normalization":"cWUSDT -> cWUSDC -> USDC","aggregator_decision_set":["direct cWUSDT -> USDT","cWUSDT -> cWUSDC -> USDC","RFQ wrapped-to-stable conversion if available"],"preferred_cex_deposit_asset":"USDC","fallback_path":"use direct cWUSDT -> USDT only for tiny packets or explicit override; otherwise route through USDC normalization","execution_model":"bridge first, compare direct USDT vs USDC-normalization path on Mainnet, then deposit the settlement stable to CEX"}, + {"source_asset":"LP:cUSDT/cUSDC","source_location":"Chain 138","source_bucket":"same_day_corridor","bridge_output":"cUSDT and cUSDC after LP withdrawal","preferred_normalization":"withdraw LP -> prefer cUSDC feeder -> bridge -> cWUSDC -> USDC","aggregator_decision_set":["post-withdrawal normalization","direct cWUSDC -> USDC","cWUSDT -> cWUSDC -> USDC if needed"],"preferred_cex_deposit_asset":"USDC","fallback_path":"withdraw LP, split outputs by best feeder path, avoid forcing whole ticket through direct USDT sink","execution_model":"LP unwind is feeder preparation, not terminal execution"}, + {"source_asset":"cWUSDC","source_location":"Ethereum Mainnet","source_bucket":"immediate","bridge_output":"none","preferred_normalization":"cWUSDC -> USDC","aggregator_decision_set":["direct cWUSDC -> USDC","alternative independent USDC sinks","RFQ wrapped-to-USDC conversion"],"preferred_cex_deposit_asset":"USDC","fallback_path":"split size, cap pool usage, treat on-chain conversion strictly as deposit preparation","execution_model":"same-hour handshake into USDC, then immediate CEX handoff"}, + {"source_asset":"cWUSDT","source_location":"Ethereum Mainnet","source_bucket":"immediate","bridge_output":"none","preferred_normalization":"cWUSDT -> cWUSDC -> USDC","aggregator_decision_set":["direct cWUSDT -> USDT","cWUSDT -> cWUSDC -> USDC","RFQ wrapped-to-stable conversion"],"preferred_cex_deposit_asset":"USDC","fallback_path":"direct USDT path is last-resort and tiny; practical size should flow through USDC-normalization","execution_model":"same-hour normalization decision on Mainnet, then CEX handoff"} + ], + "source_artifacts": [ + "reports/extraction/immediate-and-same-day-corridor-assets-latest.json", + "reports/extraction/strict-operator-public-liquidity-table-latest.json", + "config/extraction/additional-wallet-inventory.json", + "config/extraction/source-to-cex-production-policy.json" + ] +} +write(REPORTS / "source-to-cex-execution-plan-latest.json", payload) +lines = [ + "# Source To CEX Execution Plan","", + f"- Generated: `{payload['generated_at']}`", + f"- Strategy frame: {payload['strategy_frame']}", + f"- Mainnet funding posture: `{payload['mainnet_funding_posture']['mode']}` via `{', '.join(payload['mainnet_funding_posture']['required_deployer_assets'])}`", + "","## Operator Table","","| Source Asset | Bridge Output | Preferred Normalization | CEX Deposit Asset | Fallback Path |","|---|---|---|---|---|" +] +for row in payload['entries']: + lines.append(f"| `{row['source_asset']}` | {row['bridge_output']} | {row['preferred_normalization']} | `{row['preferred_cex_deposit_asset']}` | {row['fallback_path']} |") +lines += ["","## Notes","","- `cUSDC` is the cleanest same-day corridor feeder.","- `cUSDT` should usually normalize through USDC until direct USDT depth improves.","- Stable LP claims are feeder-preparation assets.","- Mainnet `cWUSDC` and `cWUSDT` are immediate in mechanics, but not deep enough to absorb large tickets on-chain."] +write_text(DOCS / "SOURCE_TO_CEX_EXECUTION_PLAN.md", "\n".join(lines)) +print(REPORTS / "source-to-cex-execution-plan-latest.json") diff --git a/scripts/lib/source_to_cex_offchain_sink_tool.py b/scripts/lib/source_to_cex_offchain_sink_tool.py new file mode 100644 index 00000000..e1802cb2 --- /dev/null +++ b/scripts/lib/source_to_cex_offchain_sink_tool.py @@ -0,0 +1,233 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import argparse +import json +import os +import sys +import time +from pathlib import Path +from typing import Any, Dict, List + +ROOT = Path(__file__).resolve().parents[2] +CONFIG = ROOT / "config" / "extraction" +REPORTS = ROOT / "reports" / "extraction" + +INVENTORY = CONFIG / "additional-wallet-inventory.json" +OUT_VALIDATION = REPORTS / "source-to-cex-offchain-sink-validation-latest.json" +SOURCE_TO_CEX_PLAN = REPORTS / "source-to-cex-execution-plan-latest.json" + +REQUIRED_ENV = { + "label": "SOURCE_TO_CEX_SINK_LABEL", + "platform": "SOURCE_TO_CEX_SINK_PLATFORM", + "account_type": "SOURCE_TO_CEX_SINK_ACCOUNT_TYPE", + "preferred_deposit_asset": "SOURCE_TO_CEX_SINK_PREFERRED_DEPOSIT_ASSET", + "deposit_chain_id": "SOURCE_TO_CEX_SINK_DEPOSIT_CHAIN_ID", + "deposit_chain_name": "SOURCE_TO_CEX_SINK_DEPOSIT_CHAIN_NAME", + "deposit_address": "SOURCE_TO_CEX_SINK_DEPOSIT_ADDRESS", +} + + +def now() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def load_json(path: Path) -> Dict[str, Any]: + return json.loads(path.read_text()) + + +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 first_missing_env() -> List[str]: + missing = [] + for env_name in REQUIRED_ENV.values(): + if not os.environ.get(env_name): + missing.append(env_name) + return missing + + +def placeholder_like(text: str) -> bool: + lowered = text.strip().lower() + return lowered in {"", "unknown", "example-exchange", "planned"} or lowered.startswith("example") + + +def validate_inventory() -> Dict[str, Any]: + inv = load_json(INVENTORY) + plan = load_json(SOURCE_TO_CEX_PLAN) if SOURCE_TO_CEX_PLAN.exists() else {} + included = [row for row in inv.get("offchain_accounts", []) if row.get("include_in_baseline")] + sink_rows: List[Dict[str, Any]] = [] + blocking: List[str] = [] + warnings: List[str] = [] + for row in included: + issues = [] + if placeholder_like(str(row.get("label", ""))): + issues.append("label still looks like placeholder data") + if placeholder_like(str(row.get("platform", ""))): + issues.append("platform is missing or placeholder") + if not row.get("enabled_for_production_handoff"): + issues.append("enabled_for_production_handoff is false") + if row.get("operational_status") != "enabled": + issues.append("operational_status is not enabled") + if not str(row.get("deposit_address", "")).strip(): + issues.append("deposit_address missing") + if not row.get("preferred_deposit_asset"): + issues.append("preferred_deposit_asset missing") + if row.get("min_packet_usd") is None or row.get("max_packet_usd") is None: + issues.append("packet bounds missing") + if row.get("preferred_deposit_asset") and row.get("accepted_deposit_assets"): + if row["preferred_deposit_asset"] not in row["accepted_deposit_assets"]: + warnings.append( + f"{row.get('label')}: preferred_deposit_asset is not listed in accepted_deposit_assets" + ) + if issues: + blocking.extend(f"{row.get('label')}: {item}" for item in issues) + sink_rows.append( + { + "label": row.get("label"), + "platform": row.get("platform"), + "account_type": row.get("account_type"), + "operational_status": row.get("operational_status"), + "enabled_for_production_handoff": bool(row.get("enabled_for_production_handoff")), + "preferred_deposit_asset": row.get("preferred_deposit_asset"), + "deposit_chain_id": str(row.get("deposit_chain_id", "")), + "deposit_chain_name": row.get("deposit_chain_name"), + "deposit_address_present": bool(str(row.get("deposit_address", "")).strip()), + "min_packet_usd": row.get("min_packet_usd"), + "max_packet_usd": row.get("max_packet_usd"), + "accepted_deposit_assets": row.get("accepted_deposit_assets", []), + } + ) + if not included: + blocking.append("no off-chain sink rows are currently included in baseline scope") + payload = { + "generated_at": now(), + "inventory_path": str(INVENTORY.relative_to(ROOT)), + "mainnet_funding_posture": plan.get("mainnet_funding_posture"), + "included_sink_count": len(included), + "ready": len(blocking) == 0, + "blocking_issues": blocking, + "warnings": warnings, + "sinks": sink_rows, + } + write_json(OUT_VALIDATION, payload) + return payload + + +def import_from_env(enable_production: bool) -> Dict[str, Any]: + missing = first_missing_env() + if missing: + raise SystemExit( + "Missing required env vars for sink import: " + ", ".join(missing) + ) + inv = load_json(INVENTORY) + row = { + "label": os.environ["SOURCE_TO_CEX_SINK_LABEL"], + "platform": os.environ["SOURCE_TO_CEX_SINK_PLATFORM"], + "account_type": os.environ["SOURCE_TO_CEX_SINK_ACCOUNT_TYPE"], + "operational_status": os.environ.get("SOURCE_TO_CEX_SINK_OPERATIONAL_STATUS", "enabled"), + "enabled_for_production_handoff": os.environ.get("SOURCE_TO_CEX_SINK_ENABLE_HANDOFF", "1") not in {"0", "false", "False"}, + "accepted_deposit_assets": [ + item.strip() + for item in os.environ.get("SOURCE_TO_CEX_SINK_ACCEPTED_DEPOSIT_ASSETS", os.environ["SOURCE_TO_CEX_SINK_PREFERRED_DEPOSIT_ASSET"]).split(",") + if item.strip() + ], + "preferred_deposit_asset": os.environ["SOURCE_TO_CEX_SINK_PREFERRED_DEPOSIT_ASSET"], + "deposit_chain_id": os.environ["SOURCE_TO_CEX_SINK_DEPOSIT_CHAIN_ID"], + "deposit_chain_name": os.environ["SOURCE_TO_CEX_SINK_DEPOSIT_CHAIN_NAME"], + "deposit_address": os.environ["SOURCE_TO_CEX_SINK_DEPOSIT_ADDRESS"], + "min_packet_usd": int(os.environ.get("SOURCE_TO_CEX_SINK_MIN_PACKET_USD", "1000")), + "max_packet_usd": int(os.environ.get("SOURCE_TO_CEX_SINK_MAX_PACKET_USD", "250000")), + "slippage_ceiling_bps": int(os.environ.get("SOURCE_TO_CEX_SINK_SLIPPAGE_CEILING_BPS", "100")), + "asset_balances": [ + { + "symbol": os.environ.get("SOURCE_TO_CEX_SINK_BALANCE_SYMBOL", os.environ["SOURCE_TO_CEX_SINK_PREFERRED_DEPOSIT_ASSET"]), + "amount": int(os.environ.get("SOURCE_TO_CEX_SINK_BALANCE_AMOUNT", "0")), + "estimated_usd": int(os.environ.get("SOURCE_TO_CEX_SINK_BALANCE_ESTIMATED_USD", "0")), + "chain_id": "offchain", + "chain_name": "Off-chain / custodial", + "notes": "Imported from environment for production sink onboarding.", + } + ], + "include_in_baseline": True, + "notes": os.environ.get("SOURCE_TO_CEX_SINK_NOTES", "Imported from environment for source-to-CEX production handoff."), + } + current = inv.get("offchain_accounts", []) + replaced = False + for idx, existing in enumerate(current): + if existing.get("label") == row["label"]: + current[idx] = row + replaced = True + break + if not replaced: + current.insert(0, row) + inv["offchain_accounts"] = current + write_json(INVENTORY, inv) + + if enable_production: + policy_path = CONFIG / "source-to-cex-production-policy.json" + policy = load_json(policy_path) + policy["production_enabled"] = True + write_json(policy_path, policy) + + return { + "generated_at": now(), + "inventory_path": str(INVENTORY.relative_to(ROOT)), + "imported_sink_label": row["label"], + "production_enabled_set": enable_production, + "accepted_deposit_assets": row["accepted_deposit_assets"], + "preferred_deposit_asset": row["preferred_deposit_asset"], + } + + +def print_env_template() -> int: + print( + "\n".join( + [ + "SOURCE_TO_CEX_SINK_LABEL=", + "SOURCE_TO_CEX_SINK_PLATFORM=", + "SOURCE_TO_CEX_SINK_ACCOUNT_TYPE=cex", + "SOURCE_TO_CEX_SINK_PREFERRED_DEPOSIT_ASSET=USDC", + "SOURCE_TO_CEX_SINK_ACCEPTED_DEPOSIT_ASSETS=USDC", + "SOURCE_TO_CEX_SINK_DEPOSIT_CHAIN_ID=1", + "SOURCE_TO_CEX_SINK_DEPOSIT_CHAIN_NAME=Ethereum Mainnet", + "SOURCE_TO_CEX_SINK_DEPOSIT_ADDRESS=", + "SOURCE_TO_CEX_SINK_OPERATIONAL_STATUS=enabled", + "SOURCE_TO_CEX_SINK_ENABLE_HANDOFF=1", + "SOURCE_TO_CEX_SINK_MIN_PACKET_USD=1000", + "SOURCE_TO_CEX_SINK_MAX_PACKET_USD=250000", + "SOURCE_TO_CEX_SINK_SLIPPAGE_CEILING_BPS=100", + "SOURCE_TO_CEX_SINK_NOTES=", + ] + ) + ) + return 0 + + +def main() -> int: + parser = argparse.ArgumentParser() + sub = parser.add_subparsers(dest="cmd", required=True) + + sub.add_parser("validate") + import_parser = sub.add_parser("import-env") + import_parser.add_argument("--enable-production", action="store_true") + sub.add_parser("print-env-template") + + args = parser.parse_args() + if args.cmd == "validate": + payload = validate_inventory() + print(json.dumps(payload, indent=2)) + return 0 if payload["ready"] else 1 + if args.cmd == "import-env": + payload = import_from_env(args.enable_production) + print(json.dumps(payload, indent=2)) + return 0 + if args.cmd == "print-env-template": + return print_env_template() + return 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/lib/source_to_cex_production_readiness.py b/scripts/lib/source_to_cex_production_readiness.py new file mode 100644 index 00000000..8d33f400 --- /dev/null +++ b/scripts/lib/source_to_cex_production_readiness.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 +from pathlib import Path +import json, time +ROOT = Path(__file__).resolve().parents[2] +CONFIG = ROOT / "config" / "extraction" +REPORTS = ROOT / "reports" / "extraction" +DOCS = ROOT / "docs" / "03-deployment" +VALIDATION = REPORTS / "source-to-cex-offchain-sink-validation-latest.json" + +def load(p): return json.loads(p.read_text()) +def write(p, data): p.parent.mkdir(parents=True, exist_ok=True); p.write_text(json.dumps(data, indent=2)+"\n") +def write_text(p, text): p.parent.mkdir(parents=True, exist_ok=True); p.write_text(text.rstrip()+"\n") +def now(): return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) +policy = load(CONFIG / "source-to-cex-production-policy.json") +inv = load(CONFIG / "additional-wallet-inventory.json") +plan = load(REPORTS / "source-to-cex-execution-plan-latest.json") +strict = load(REPORTS / "strict-operator-public-liquidity-table-latest.json") +validation = load(VALIDATION) if VALIDATION.exists() else None +sinks = [] +issues = [] +included_sink_count = 0 +for a in inv.get('offchain_accounts', []): + if not a.get('include_in_baseline'): + continue + included_sink_count += 1 + row = { + 'label': a.get('label'), 'platform': a.get('platform', 'unknown'), 'enabled_for_production_handoff': bool(a.get('enabled_for_production_handoff')), + 'deposit_address_present': bool(str(a.get('deposit_address','')).strip()), 'operational_status': a.get('operational_status','unknown'), + 'preferred_deposit_asset': a.get('preferred_deposit_asset') + } + sinks.append(row) + if not row['enabled_for_production_handoff']: issues.append(f"{row['label']}: production handoff not enabled") + if not row['deposit_address_present']: issues.append(f"{row['label']}: missing deposit address") + if row['operational_status'] != 'enabled': issues.append(f"{row['label']}: operational_status is not enabled") + if not row['preferred_deposit_asset']: issues.append(f"{row['label']}: missing preferred deposit asset") +if included_sink_count == 0: + issues.append('no real off-chain sink is currently included in baseline scope') +direct = {r['route_id']: r['current_verified_public_depth_usd'] for r in strict.get('entries', [])} +payload = { + 'generated_at': now(), + 'ready_for_immediate_live_production': bool(policy.get('production_enabled')) and not issues and bool(sinks), + 'strategy_frame': plan['strategy_frame'], + 'mainnet_funding_posture': plan.get('mainnet_funding_posture'), + 'policy': {'path':'config/extraction/source-to-cex-production-policy.json','production_enabled': bool(policy.get('production_enabled')),'packetization_policy': policy.get('packetization_policy',{})}, + 'offchain_sink_validation': validation, + 'offchain_sinks': sinks, + 'tasks': [ + {'task':'operator_model_locked','status':'ready'}, + {'task':'baseline_refreshed','status':'ready'}, + {'task':'mainnet_normalization_modeled','status':'ready','evidence':{'cwusdc_direct_depth_usd':direct.get('cwusdc-direct-usdc'),'cwusdt_direct_depth_usd':direct.get('cwusdt-direct-usdt')}}, + {'task':'production_policy_present','status':'ready'}, + {'task':'offchain_sink_defined','status':'blocked' if issues or not sinks else 'ready','blocking_issues':issues}, + {'task':'live_production_enabled','status':'blocked' if (issues or not sinks or not policy.get('production_enabled')) else 'ready'} + ], + 'blocking_issues': issues + ([] if policy.get('production_enabled') else ['source-to-cex production policy remains disabled']), + 'next_live_inputs_required': [ + 'at least one real off-chain sink row with include_in_baseline=true', + 'enabled_for_production_handoff=true on the real sink', + 'real deposit address and chain for the chosen sink', + 'operational_status=enabled for the chosen sink', + 'operator decision to set production_enabled=true after live canaries succeed' + ] +} +write(REPORTS / 'source-to-cex-production-readiness-latest.json', payload) +lines = ['# Source To CEX Production Readiness','',f"- Generated: `{payload['generated_at']}`",f"- Ready for immediate live production: `{payload['ready_for_immediate_live_production']}`",f"- Policy production enabled: `{payload['policy']['production_enabled']}`"] +if payload.get('mainnet_funding_posture'): + lines.append(f"- Mainnet funding posture: `{payload['mainnet_funding_posture']['mode']}` via `{', '.join(payload['mainnet_funding_posture']['required_deployer_assets'])}`") +lines += ['','## Blocking Issues',''] +for issue in payload['blocking_issues'] or ['none']: + lines.append(f"- {issue}") +if validation: + lines += ['','## Off-Chain Sink Validation','',f"- Validation ready: `{validation['ready']}`",f"- Included sink count: `{validation['included_sink_count']}`"] + for warning in validation.get('warnings', []): + lines.append(f"- Warning: {warning}") +lines += ['','## Next Live Inputs Required',''] +for item in payload['next_live_inputs_required']: + lines.append(f'- {item}') +write_text(DOCS / 'SOURCE_TO_CEX_PRODUCTION_READINESS.md', '\n'.join(lines)) +print(REPORTS / 'source-to-cex-production-readiness-latest.json') diff --git a/scripts/lib/validate_elemental_imperium_wallet_grid.py b/scripts/lib/validate_elemental_imperium_wallet_grid.py new file mode 100644 index 00000000..0e984382 --- /dev/null +++ b/scripts/lib/validate_elemental_imperium_wallet_grid.py @@ -0,0 +1,103 @@ +#!/usr/bin/env python3 +""" +Validate config/pmm-soak-wallet-grid.json: dimensions, linearIndex formula, +addresses, cellId, label vs networkCode/asn. + +Exit 0 if OK; non-zero with message on stderr. +""" + +from __future__ import annotations + +import json +import re +import sys +from pathlib import Path + +_REPO_LIB = Path(__file__).resolve().parent +if str(_REPO_LIB) not in sys.path: + sys.path.insert(0, str(_REPO_LIB)) + +from elemental_imperium_wallet_common import build_label, cell_id, linear_index # noqa: E402 + +ADDR = re.compile(r"^0x[0-9a-fA-F]{40}$") +MAX_ERRORS = 80 + + +def main() -> int: + repo_root = Path(__file__).resolve().parents[2] + grid_path = repo_root / "config" / "pmm-soak-wallet-grid.json" + if not grid_path.is_file(): + print("Missing config/pmm-soak-wallet-grid.json", file=sys.stderr) + return 1 + + data = json.loads(grid_path.read_text(encoding="utf-8")) + dim = data.get("dimensions") or {} + lp_n = int(dim.get("lpbcaCount", 33)) + br_n = int(dim.get("branchCount", 33)) + cl_n = int(dim.get("classCount", 6)) + expected_count = lp_n * br_n * cl_n + + wallets = data.get("wallets") + if not isinstance(wallets, list): + print("Invalid: wallets must be an array", file=sys.stderr) + return 1 + + errs: list[str] = [] + if len(wallets) != expected_count: + errs.append(f"wallet count {len(wallets)} != dimensions product {expected_count}") + + for i, w in enumerate(wallets): + if len(errs) >= MAX_ERRORS: + errs.append("… (further errors suppressed)") + break + try: + lpbca = int(w["lpbca"]) + branch = int(w["branch"]) + class_ = int(w["class"]) + li = int(w["linearIndex"]) + except (KeyError, TypeError, ValueError) as e: + errs.append(f"wallet {i}: bad coordinates or linearIndex ({e})") + continue + + if not (0 <= lpbca < lp_n and 0 <= branch < br_n and 0 <= class_ < cl_n): + errs.append(f"wallet {i}: coordinate out of range") + + exp_li = linear_index(lpbca, branch, class_) + if li != exp_li: + errs.append(f"wallet {i}: linearIndex {li} != expected {exp_li} (L{lpbca} B{branch} C{class_})") + + exp_cid = cell_id(lpbca, branch, class_) + if w.get("cellId") != exp_cid: + errs.append(f"wallet {i}: cellId {w.get('cellId')!r} != {exp_cid!r}") + + addr = w.get("address", "") + if not isinstance(addr, str) or not ADDR.match(addr): + errs.append(f"wallet {i}: invalid address {addr!r}") + + nc = w.get("networkCode") + if nc is not None and (not isinstance(nc, str) or not nc.strip()): + errs.append(f"wallet {i}: invalid networkCode") + + asn = w.get("asn") + if asn is not None and type(asn) is not int: + errs.append(f"wallet {i}: asn must be int or null") + + if nc is not None: + exp_label = build_label(str(nc), exp_cid, asn if isinstance(asn, int) else None) + if w.get("label") != exp_label: + errs.append( + f"wallet {i}: label {w.get('label')!r} != expected {exp_label!r}" + ) + + if errs: + print("Elemental Imperium wallet grid validation failed:", file=sys.stderr) + for e in errs: + print(f" {e}", file=sys.stderr) + return 1 + + print(f"OK: {len(wallets)} wallets, linearIndex/cellId/labels consistent") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/maintenance/run-mainnet-cwusdc-usdc-support.sh b/scripts/maintenance/run-mainnet-cwusdc-usdc-support.sh new file mode 100755 index 00000000..84e1aeaa --- /dev/null +++ b/scripts/maintenance/run-mainnet-cwusdc-usdc-support.sh @@ -0,0 +1,138 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)" + +# shellcheck source=/home/intlc/projects/proxmox/scripts/lib/load-project-env.sh +source "${PROJECT_ROOT}/scripts/lib/load-project-env.sh" + +POLICY_PATH="${PROJECT_ROOT}/config/extraction/mainnet-cwusdc-usdc-support-policy.json" +CHECKER="${PROJECT_ROOT}/scripts/verify/check-mainnet-cwusdc-usdc-support-health.py" +FORGE_TARGET="smom-dbis-138/script/flash/RunManagedMainnetAaveCwusdcUsdcQuotePushCycle.s.sol:RunManagedMainnetAaveCwusdcUsdcQuotePushCycle" + +DRY_RUN=1 +HEALTH_ONLY=0 +FORCE_RUN=0 +FLASH_OVERRIDE="" + +usage() { + cat <<'EOF' +Usage: bash scripts/maintenance/run-mainnet-cwusdc-usdc-support.sh [options] + +Options: + --health-only Print the current support decision and exit. + --broadcast Broadcast the managed cycle instead of simulating it. + --force Run the managed cycle even if the checker only recommends monitor/hold. + --flash-quote-amount-raw N + Override the policy-selected flash quote amount. + -h, --help Show this help text. + +Behavior: + - Reads the canonical policy at config/extraction/mainnet-cwusdc-usdc-support-policy.json + - Checks the public Uniswap V2 pair and defended DODO venue + - Uses the managed Aave quote-push cycle against the defended DODO venue when intervention is recommended + - Defaults to simulation unless --broadcast is passed +EOF +} + +while [[ $# -gt 0 ]]; do + case "$1" in + --health-only) + HEALTH_ONLY=1 + shift + ;; + --broadcast) + DRY_RUN=0 + shift + ;; + --force) + FORCE_RUN=1 + shift + ;; + --flash-quote-amount-raw) + FLASH_OVERRIDE="${2:-}" + shift 2 + ;; + -h|--help) + usage + exit 0 + ;; + *) + echo "ERROR: unknown option: $1" >&2 + usage >&2 + exit 1 + ;; + esac +done + +[[ -f "$POLICY_PATH" ]] || { echo "ERROR: missing policy file: $POLICY_PATH" >&2; exit 1; } +[[ -f "$CHECKER" ]] || { echo "ERROR: missing checker script: $CHECKER" >&2; exit 1; } + +eval "$( + python3 "$CHECKER" --shell +)" + +echo "Policy: $POLICY_PATH" +echo "Public pair: ${PUBLIC_PAIR_ADDRESS}" +echo "Defended DODO pool: ${DEFENDED_POOL_ADDRESS}" +echo "Deviation: ${PUBLIC_PAIR_DEVIATION_BPS:-unknown} bps" +echo "Decision: ${DECISION_SEVERITY} / ${DECISION_ACTION}" +echo "Reasons: ${REASONS_JSON}" + +if [[ "$HEALTH_ONLY" -eq 1 ]]; then + exit 0 +fi + +if [[ "$DECISION_ACTION" != "run_managed_cycle" && "$FORCE_RUN" -ne 1 ]]; then + echo "No managed cycle scheduled. Use --force to simulate anyway." + exit 0 +fi + +FLASH_QUOTE_AMOUNT_RAW="${FLASH_OVERRIDE:-$FLASH_QUOTE_AMOUNT_RAW}" +if [[ -z "${FLASH_QUOTE_AMOUNT_RAW:-}" || "${FLASH_QUOTE_AMOUNT_RAW}" == "0" ]]; then + echo "ERROR: no flash quote amount resolved from policy or override" >&2 + exit 1 +fi + +for required_var in \ + ETHEREUM_MAINNET_RPC \ + DODO_PMM_INTEGRATION_MAINNET \ + QUOTE_PUSH_EXTERNAL_UNWINDER_MAINNET \ + AAVE_QUOTE_PUSH_RECEIVER_MAINNET \ + QUOTE_PUSH_TREASURY_MANAGER_MAINNET \ + UNWIND_MODE; do + if [[ -z "${!required_var:-}" ]]; then + echo "ERROR: missing required env var: ${required_var}" >&2 + exit 1 + fi +done + +export PRIVATE_KEY="${KEEPER_PRIVATE_KEY:-${PRIVATE_KEY:-}}" +if [[ -z "${PRIVATE_KEY}" ]]; then + echo "ERROR: missing PRIVATE_KEY and KEEPER_PRIVATE_KEY" >&2 + exit 1 +fi + +export POOL_CWUSDC_USDC_MAINNET="${DEFENDED_POOL_ADDRESS}" +export FLASH_QUOTE_AMOUNT_RAW +export QUOTE_PUSH_TREASURY_HARVEST="${QUOTE_PUSH_TREASURY_HARVEST:-1}" +export QUOTE_PUSH_TREASURY_GAS_HOLDBACK_TARGET_RAW="${GAS_HOLDBACK_TARGET_RAW}" + +forge_cmd=( + forge script + "$FORGE_TARGET" + --root "$PROJECT_ROOT/smom-dbis-138" + --rpc-url "$ETHEREUM_MAINNET_RPC" +) + +if [[ "$DRY_RUN" -eq 0 ]]; then + forge_cmd+=(--broadcast) +else + echo "Simulation only. Pass --broadcast to execute on-chain." +fi + +printf 'Running:' +printf ' %q' "${forge_cmd[@]}" +printf '\n' +"${forge_cmd[@]}" diff --git a/scripts/validation/validate-config-files.sh b/scripts/validation/validate-config-files.sh index e58c2093..a37f5d2a 100755 --- a/scripts/validation/validate-config-files.sh +++ b/scripts/validation/validate-config-files.sh @@ -156,6 +156,21 @@ else fi fi +# Elemental Imperium / PMM soak wallet matrix (optional; python3 required for full check) +if [[ -f "$PROJECT_ROOT/config/pmm-soak-wallet-grid.json" ]]; then + if command -v python3 &>/dev/null; then + log_info "Elemental Imperium wallet grid (pmm-soak-wallet-grid.json)..." + if python3 "$PROJECT_ROOT/scripts/lib/validate_elemental_imperium_wallet_grid.py"; then + log_ok "pmm-soak-wallet-grid.json: structure and label consistency" + else + log_err "pmm-soak-wallet-grid.json: validation failed" + ERRORS=$((ERRORS + 1)) + fi + else + log_warn "pmm-soak-wallet-grid.json present but python3 missing; skipping EI grid validation" + fi +fi + if [[ -n "$OPTIONAL_ENV" ]]; then for v in $OPTIONAL_ENV; do check_env "$v" || true diff --git a/scripts/verify/apply-elemental-imperium-wallet-labels.sh b/scripts/verify/apply-elemental-imperium-wallet-labels.sh new file mode 100755 index 00000000..41c22c78 --- /dev/null +++ b/scripts/verify/apply-elemental-imperium-wallet-labels.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Apply Elemental Imperium (33×33×6) wallet labels to config/pmm-soak-wallet-grid.json. +# Optional: --network-code CODE | --asn N (see scripts/lib/apply_elemental_imperium_wallet_labels.py) +set -euo pipefail +ROOT="$(cd "$(dirname "$0")/../.." && pwd)" +exec python3 "$ROOT/scripts/lib/apply_elemental_imperium_wallet_labels.py" "$@" diff --git a/scripts/verify/build-chain-138-to-wemix-1111-bridge-completion-checklist.sh b/scripts/verify/build-chain-138-to-wemix-1111-bridge-completion-checklist.sh new file mode 100755 index 00000000..45e9a255 --- /dev/null +++ b/scripts/verify/build-chain-138-to-wemix-1111-bridge-completion-checklist.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" + +python3 "$REPO_ROOT/scripts/lib/chain_138_to_wemix_1111_bridge_completion_checklist.py" + +echo "Built:" +echo " docs/03-deployment/CHAIN_138_TO_WEMIX_1111_BRIDGE_COMPLETION_CHECKLIST.md" +echo " reports/extraction/chain-138-to-wemix-1111-bridge-completion-checklist-latest.json" diff --git a/scripts/verify/build-chain138-pr-ready-package.sh b/scripts/verify/build-chain138-pr-ready-package.sh new file mode 100644 index 00000000..3931a1f3 --- /dev/null +++ b/scripts/verify/build-chain138-pr-ready-package.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" +SRC_DIR="$REPO_ROOT/docs/04-configuration/pr-ready" +PKG_DIR="$SRC_DIR/eip155-138-package" + +mkdir -p "$PKG_DIR" + +cp "$SRC_DIR/eip155-138.json" "$PKG_DIR/eip155-138.chainlist.json" +cp "$SRC_DIR/trust-wallet-registry-chain138.json" "$PKG_DIR/trust-wallet-registry-chain138.json" + +if command -v jq >/dev/null 2>&1; then + jq empty "$PKG_DIR/eip155-138.chainlist.json" >/dev/null + jq empty "$PKG_DIR/trust-wallet-registry-chain138.json" >/dev/null + jq empty "$PKG_DIR/manifest.json" >/dev/null +fi + +echo "Wrote package to $PKG_DIR" diff --git a/scripts/verify/build-comprehensive-capital-baseline.sh b/scripts/verify/build-comprehensive-capital-baseline.sh new file mode 100644 index 00000000..f0a948fa --- /dev/null +++ b/scripts/verify/build-comprehensive-capital-baseline.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -euo pipefail +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +python3 "$ROOT/scripts/lib/source_to_cex_execution_plan.py" >/dev/null +python3 "$ROOT/scripts/lib/source_to_cex_production_readiness.py" >/dev/null +python3 "$ROOT/scripts/lib/comprehensive_capital_baseline.py" diff --git a/scripts/verify/build-cw-usd-quote-dump.sh b/scripts/verify/build-cw-usd-quote-dump.sh new file mode 100755 index 00000000..ab00725a --- /dev/null +++ b/scripts/verify/build-cw-usd-quote-dump.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# Build output/cw-assets-usd-quote-dump.json — on-chain PMM quotes for cW* vs USD-like legs. +# Loads RPC URLs from smom-dbis-138/.env via repo root (optional: export env first). +set -euo pipefail +REPO_ROOT="$(cd "$(dirname "$0")/../.." && pwd)" +cd "$REPO_ROOT" +if [[ -f "$REPO_ROOT/smom-dbis-138/.env" ]]; then + set -a + # shellcheck disable=SC1091 + source "$REPO_ROOT/smom-dbis-138/.env" + set +a +fi +OUT="${1:-$REPO_ROOT/output/cw-assets-usd-quote-dump.json}" +exec python3 "$REPO_ROOT/scripts/lib/dump_cw_usd_quotes.py" --output "$OUT" diff --git a/scripts/verify/build-promod-gru-v2-full-mesh-gap-report.sh b/scripts/verify/build-promod-gru-v2-full-mesh-gap-report.sh new file mode 100755 index 00000000..48af6a21 --- /dev/null +++ b/scripts/verify/build-promod-gru-v2-full-mesh-gap-report.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$ROOT" + +python3 scripts/lib/promod_gru_v2_full_mesh_gap_report.py diff --git a/scripts/verify/build-promod-uniswap-v2-first-deployment-target-matrix.sh b/scripts/verify/build-promod-uniswap-v2-first-deployment-target-matrix.sh new file mode 100755 index 00000000..7b4ff671 --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-first-deployment-target-matrix.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$ROOT" + +python3 scripts/lib/promod_uniswap_v2_first_deployment_matrix.py diff --git a/scripts/verify/build-promod-uniswap-v2-liquidity-program.sh b/scripts/verify/build-promod-uniswap-v2-liquidity-program.sh new file mode 100755 index 00000000..49cb4d89 --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-liquidity-program.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$ROOT" + +python3 scripts/lib/promod_uniswap_v2_liquidity_program.py diff --git a/scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh b/scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh new file mode 100755 index 00000000..a9415263 --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$ROOT" + +python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py "$@" diff --git a/scripts/verify/build-promod-uniswap-v2-phase-order.sh b/scripts/verify/build-promod-uniswap-v2-phase-order.sh new file mode 100755 index 00000000..eaa7c469 --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase-order.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$ROOT" + +python3 scripts/lib/promod_uniswap_v2_phase_order.py diff --git a/scripts/verify/build-promod-uniswap-v2-phase1-bridge-3x-matrix.sh b/scripts/verify/build-promod-uniswap-v2-phase1-bridge-3x-matrix.sh new file mode 100644 index 00000000..b593e3ed --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase1-bridge-3x-matrix.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +python3 "$ROOT/scripts/lib/promod_uniswap_v2_phase1_bridge_3x_matrix.py" diff --git a/scripts/verify/build-promod-uniswap-v2-phase1-bridge-3x-operator-packet.sh b/scripts/verify/build-promod-uniswap-v2-phase1-bridge-3x-operator-packet.sh new file mode 100644 index 00000000..b1165c5c --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase1-bridge-3x-operator-packet.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +python3 "$ROOT/scripts/lib/promod_uniswap_v2_phase1_bridge_3x_operator_packet.py" diff --git a/scripts/verify/build-promod-uniswap-v2-phase1-bridge-from-138-matrix.sh b/scripts/verify/build-promod-uniswap-v2-phase1-bridge-from-138-matrix.sh new file mode 100644 index 00000000..09ad4d3e --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase1-bridge-from-138-matrix.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +python3 "$ROOT/scripts/lib/promod_uniswap_v2_phase1_bridge_from_138_matrix.py" diff --git a/scripts/verify/build-promod-uniswap-v2-phase1-bridge-or-mint-runbook.sh b/scripts/verify/build-promod-uniswap-v2-phase1-bridge-or-mint-runbook.sh new file mode 100755 index 00000000..bb219363 --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase1-bridge-or-mint-runbook.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" +cd "$PROJECT_ROOT" + +python3 scripts/lib/promod_uniswap_v2_phase1_bridge_or_mint_runbook.py diff --git a/scripts/verify/build-promod-uniswap-v2-phase1-execution-checklist.sh b/scripts/verify/build-promod-uniswap-v2-phase1-execution-checklist.sh new file mode 100755 index 00000000..d0129a98 --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase1-execution-checklist.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$ROOT" + +python3 scripts/lib/promod_uniswap_v2_phase1_execution_checklist.py diff --git a/scripts/verify/build-promod-uniswap-v2-phase1-funding-actions.sh b/scripts/verify/build-promod-uniswap-v2-phase1-funding-actions.sh new file mode 100644 index 00000000..304caaa8 --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase1-funding-actions.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +python3 "$ROOT/scripts/lib/promod_uniswap_v2_phase1_funding_actions.py" diff --git a/scripts/verify/build-promod-uniswap-v2-phase1-funding-bundle.sh b/scripts/verify/build-promod-uniswap-v2-phase1-funding-bundle.sh new file mode 100644 index 00000000..17f276ce --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase1-funding-bundle.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +python3 "$ROOT/scripts/lib/promod_uniswap_v2_phase1_funding_bundle.py" diff --git a/scripts/verify/build-promod-uniswap-v2-phase1-funding-readiness.sh b/scripts/verify/build-promod-uniswap-v2-phase1-funding-readiness.sh new file mode 100644 index 00000000..db64a406 --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase1-funding-readiness.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +python3 "$ROOT/scripts/lib/promod_uniswap_v2_phase1_funding_readiness.py" diff --git a/scripts/verify/build-promod-uniswap-v2-phase1-remaining-8-operator-paste-pack.sh b/scripts/verify/build-promod-uniswap-v2-phase1-remaining-8-operator-paste-pack.sh new file mode 100755 index 00000000..22ae6336 --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase1-remaining-8-operator-paste-pack.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" +cd "$PROJECT_ROOT" + +python3 scripts/lib/promod_uniswap_v2_phase1_remaining_8_paste_pack.py diff --git a/scripts/verify/build-promod-uniswap-v2-phase1-remaining-8-shell-paste-pack.sh b/scripts/verify/build-promod-uniswap-v2-phase1-remaining-8-shell-paste-pack.sh new file mode 100755 index 00000000..86cc406d --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase1-remaining-8-shell-paste-pack.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" +cd "$PROJECT_ROOT" + +python3 scripts/lib/promod_uniswap_v2_phase1_remaining_8_shell_paste_pack.py diff --git a/scripts/verify/build-promod-uniswap-v2-phase2-operator-paste-pack.sh b/scripts/verify/build-promod-uniswap-v2-phase2-operator-paste-pack.sh new file mode 100755 index 00000000..9179356b --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase2-operator-paste-pack.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -euo pipefail +PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$PROJECT_ROOT" +python3 scripts/lib/promod_uniswap_v2_phase2_operator_sequence.py >/dev/null +python3 scripts/lib/promod_uniswap_v2_phase2_operator_paste_pack.py diff --git a/scripts/verify/build-promod-uniswap-v2-phase2-operator-sequence.sh b/scripts/verify/build-promod-uniswap-v2-phase2-operator-sequence.sh new file mode 100755 index 00000000..39727660 --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase2-operator-sequence.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail +PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$PROJECT_ROOT" +python3 scripts/lib/promod_uniswap_v2_phase2_operator_sequence.py diff --git a/scripts/verify/build-promod-uniswap-v2-phase2-shell-paste-pack.sh b/scripts/verify/build-promod-uniswap-v2-phase2-shell-paste-pack.sh new file mode 100755 index 00000000..0733384d --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase2-shell-paste-pack.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -euo pipefail +PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$PROJECT_ROOT" +python3 scripts/lib/promod_uniswap_v2_phase2_operator_sequence.py >/dev/null +python3 scripts/lib/promod_uniswap_v2_phase2_shell_paste_pack.py diff --git a/scripts/verify/build-promod-uniswap-v2-phase2-wave1-completion-status.sh b/scripts/verify/build-promod-uniswap-v2-phase2-wave1-completion-status.sh new file mode 100644 index 00000000..619f550c --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase2-wave1-completion-status.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$PROJECT_ROOT" + +python3 scripts/lib/promod_uniswap_v2_phase2_wave1_completion_status.py diff --git a/scripts/verify/build-promod-uniswap-v2-phase2-wave2-operator-paste-pack.sh b/scripts/verify/build-promod-uniswap-v2-phase2-wave2-operator-paste-pack.sh new file mode 100755 index 00000000..9762c92f --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase2-wave2-operator-paste-pack.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$ROOT" + +python3 scripts/lib/promod_uniswap_v2_phase2_wave2_operator_paste_pack.py diff --git a/scripts/verify/build-promod-uniswap-v2-phase2-wave2-operator-sequence.sh b/scripts/verify/build-promod-uniswap-v2-phase2-wave2-operator-sequence.sh new file mode 100755 index 00000000..b155d2d7 --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase2-wave2-operator-sequence.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$ROOT" + +python3 scripts/lib/promod_uniswap_v2_phase2_wave2_operator_sequence.py diff --git a/scripts/verify/build-promod-uniswap-v2-phase2-wave2-shell-paste-pack.sh b/scripts/verify/build-promod-uniswap-v2-phase2-wave2-shell-paste-pack.sh new file mode 100755 index 00000000..e406d874 --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-phase2-wave2-shell-paste-pack.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$ROOT" + +python3 scripts/lib/promod_uniswap_v2_phase2_wave2_shell_paste_pack.py diff --git a/scripts/verify/build-promod-uniswap-v2-promotion-gates.sh b/scripts/verify/build-promod-uniswap-v2-promotion-gates.sh new file mode 100755 index 00000000..de6ba95c --- /dev/null +++ b/scripts/verify/build-promod-uniswap-v2-promotion-gates.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$ROOT" + +python3 scripts/lib/promod_uniswap_v2_promotion_gates.py diff --git a/scripts/verify/build-source-to-cex-execution-plan.sh b/scripts/verify/build-source-to-cex-execution-plan.sh new file mode 100644 index 00000000..d5406df3 --- /dev/null +++ b/scripts/verify/build-source-to-cex-execution-plan.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +python3 "$ROOT/scripts/lib/source_to_cex_execution_plan.py" diff --git a/scripts/verify/build-source-to-cex-production-readiness.sh b/scripts/verify/build-source-to-cex-production-readiness.sh new file mode 100644 index 00000000..05e69fd2 --- /dev/null +++ b/scripts/verify/build-source-to-cex-production-readiness.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +python3 "$ROOT/scripts/lib/source_to_cex_offchain_sink_tool.py" validate >/dev/null || true +python3 "$ROOT/scripts/lib/source_to_cex_production_readiness.py" diff --git a/scripts/verify/check-mainnet-cwusdc-usdc-support-health.py b/scripts/verify/check-mainnet-cwusdc-usdc-support-health.py new file mode 100755 index 00000000..f2e84920 --- /dev/null +++ b/scripts/verify/check-mainnet-cwusdc-usdc-support-health.py @@ -0,0 +1,327 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +from decimal import Decimal, getcontext +from pathlib import Path +import argparse +import json +import os +import re +import shlex +import subprocess +import sys + +getcontext().prec = 42 + +ROOT = Path(__file__).resolve().parents[2] +POLICY_PATH = ROOT / "config" / "extraction" / "mainnet-cwusdc-usdc-support-policy.json" +SMOM_ENV_PATH = ROOT / "smom-dbis-138" / ".env" +ROOT_ENV_PATH = ROOT / ".env" +DEPLOYMENT_STATUS = ROOT / "cross-chain-pmm-lps" / "config" / "deployment-status.json" +ZERO_ADDRESS = "0x0000000000000000000000000000000000000000" +UINT_RE = re.compile(r"\b\d+\b") + + +def load_json(path: Path) -> dict: + return json.loads(path.read_text()) + + +def load_env_file(path: Path) -> dict[str, str]: + values: dict[str, str] = {} + if not path.exists(): + return values + for raw_line in path.read_text().splitlines(): + line = raw_line.strip() + if not line or line.startswith("#") or "=" not in line: + continue + key, value = line.split("=", 1) + values[key.strip()] = value.strip().strip('"').strip("'") + return values + + +def resolve_env_value(key: str, env_values: dict[str, str], seen: set[str] | None = None) -> str: + if seen is None: + seen = set() + if key in seen: + return env_values.get(key, "") + seen.add(key) + value = os.environ.get(key) or env_values.get(key, "") + if value.startswith("${") and value.endswith("}"): + inner = value[2:-1] + target = inner.split(":-", 1)[0] + fallback = inner.split(":-", 1)[1] if ":-" in inner else "" + resolved = resolve_env_value(target, env_values, seen) + return resolved or fallback + return value + + +def merged_env_values() -> dict[str, str]: + values = {} + values.update(load_env_file(ROOT_ENV_PATH)) + values.update(load_env_file(SMOM_ENV_PATH)) + return values + + +def cast_call(rpc_url: str, target: str, signature: str, *args: str) -> str: + cmd = ["cast", "call", target, signature, *args, "--rpc-url", rpc_url] + return subprocess.check_output(cmd, text=True).strip() + + +def parse_uint(value: str) -> int: + matches = UINT_RE.findall(value) + if not matches: + raise ValueError(f"could not parse integer from {value!r}") + return int(matches[0]) + + +def parse_uints(value: str, count: int) -> list[int]: + matches = [int(match) for match in UINT_RE.findall(value)] + if len(matches) < count: + raise ValueError(f"expected at least {count} integers, got {matches!r}") + return matches[:count] + + +def parse_address(value: str) -> str: + match = re.search(r"0x[a-fA-F0-9]{40}", value) + if not match: + raise ValueError(f"could not parse address from {value!r}") + return match.group(0) + + +def decimal_ratio(numerator: Decimal, denominator: Decimal) -> Decimal: + if denominator == 0: + return Decimal(0) + return numerator / denominator + + +def normalize_units(raw: int, decimals: int) -> Decimal: + return Decimal(raw) / (Decimal(10) ** decimals) + + +def compute_deviation_bps(price: Decimal, target: Decimal = Decimal("1")) -> Decimal: + if target == 0: + return Decimal(0) + return abs((price - target) / target) * Decimal(10000) + + +def resolve_rpc_url(policy: dict, env_values: dict[str, str]) -> str: + for key in policy["network"].get("rpcEnvKeys", []): + value = resolve_env_value(key, env_values) + if value: + return value.rstrip("\r\n") + raise RuntimeError("missing mainnet RPC URL") + + +def load_public_pair_from_policy(policy: dict, deployment_status: dict) -> dict: + configured = dict(policy["publicPair"]) + chain = deployment_status["chains"][str(policy["network"]["chainId"])] + for row in chain.get("uniswapV2Pools", []): + if row.get("base") == configured["base"] and row.get("quote") == configured["quote"]: + configured.update( + { + "poolAddress": row.get("poolAddress", configured["poolAddress"]), + "factoryAddress": row.get("factoryAddress"), + "routerAddress": row.get("routerAddress"), + } + ) + break + return configured + + +def query_uniswap_pair_health(rpc_url: str, pair: dict) -> dict: + pair_address = pair["poolAddress"] + if not pair_address or pair_address.lower() == ZERO_ADDRESS: + return {"live": False, "poolAddress": pair_address} + + token0 = parse_address(cast_call(rpc_url, pair_address, "token0()(address)")) + token1 = parse_address(cast_call(rpc_url, pair_address, "token1()(address)")) + reserve0_raw, reserve1_raw, _ = parse_uints(cast_call(rpc_url, pair_address, "getReserves()(uint112,uint112,uint32)"), 3) + decimals0 = parse_uint(cast_call(rpc_url, token0, "decimals()(uint8)")) + decimals1 = parse_uint(cast_call(rpc_url, token1, "decimals()(uint8)")) + + base_addr = pair.get("baseAddress") + quote_addr = pair.get("quoteAddress") + if not base_addr or not quote_addr: + raise RuntimeError("pair token addresses not supplied") + + if token0.lower() == base_addr.lower(): + base_raw, quote_raw = reserve0_raw, reserve1_raw + base_decimals, quote_decimals = decimals0, decimals1 + elif token1.lower() == base_addr.lower(): + base_raw, quote_raw = reserve1_raw, reserve0_raw + base_decimals, quote_decimals = decimals1, decimals0 + else: + raise RuntimeError("pair tokens do not match configured base/quote") + + base_units = normalize_units(base_raw, base_decimals) + quote_units = normalize_units(quote_raw, quote_decimals) + price = decimal_ratio(quote_units, base_units) + deviation_bps = compute_deviation_bps(price) + + return { + "live": True, + "poolAddress": pair_address, + "token0": token0, + "token1": token1, + "baseReserveRaw": str(base_raw), + "quoteReserveRaw": str(quote_raw), + "baseReserveUnits": str(base_units), + "quoteReserveUnits": str(quote_units), + "priceQuotePerBase": str(price), + "deviationBps": str(deviation_bps), + } + + +def query_dodo_health(rpc_url: str, defended_venue: dict) -> dict: + pool_address = defended_venue["poolAddress"] + try: + mid_price_raw = parse_uint(cast_call(rpc_url, pool_address, "getMidPrice()(uint256)")) + base_reserve_raw, quote_reserve_raw = parse_uints( + cast_call(rpc_url, pool_address, "getVaultReserve()(uint256,uint256)"), 2 + ) + except Exception as exc: + return { + "live": False, + "poolAddress": pool_address, + "error": str(exc), + } + + mid_price = normalize_units(mid_price_raw, 18) + deviation_bps = compute_deviation_bps(mid_price) + return { + "live": True, + "poolAddress": pool_address, + "midPrice": str(mid_price), + "deviationBps": str(deviation_bps), + "baseReserveRaw": str(base_reserve_raw), + "quoteReserveRaw": str(quote_reserve_raw), + } + + +def choose_flash_amount(policy: dict, deviation_bps: Decimal) -> int: + for row in policy["managedCycle"]["quoteAmountByDeviationBps"]: + if deviation_bps >= Decimal(row["minDeviationBps"]): + return int(row["flashQuoteAmountRaw"]) + return 0 + + +def build_decision(policy: dict, public_health: dict, defended_health: dict) -> dict: + thresholds = policy["thresholds"] + reasons: list[str] = [] + severity = "ok" + action = "hold" + + if not public_health.get("live"): + severity = "critical" + action = "manual_recover_public_pair" + reasons.append("public pair missing or unreadable") + deviation_bps = Decimal(0) + else: + deviation_bps = Decimal(public_health["deviationBps"]) + base_units = Decimal(public_health["baseReserveUnits"]) + quote_units = Decimal(public_health["quoteReserveUnits"]) + thin_base = base_units < Decimal(thresholds["minBaseReserveUnits"]) + thin_quote = quote_units < Decimal(thresholds["minQuoteReserveUnits"]) + + if thin_base or thin_quote: + severity = "thin" + action = "manual_reseed_public_lane" + reasons.append("public pair reserve depth below policy floor") + + if deviation_bps >= Decimal(thresholds["criticalDeviationBps"]): + severity = "critical" + action = "run_managed_cycle" + reasons.append("public pair outside critical deviation corridor") + elif deviation_bps >= Decimal(thresholds["interveneDeviationBps"]): + severity = "intervene" + action = "run_managed_cycle" + reasons.append("public pair outside intervention corridor") + elif deviation_bps >= Decimal(thresholds["warnDeviationBps"]): + severity = "warn" if severity == "ok" else severity + if action == "hold": + action = "monitor" + reasons.append("public pair outside warn corridor") + + if action == "run_managed_cycle" and not defended_health.get("live"): + severity = "blocked" + action = "manual_fix_defended_venue" + reasons.append("defended DODO venue unavailable") + + flash_amount = choose_flash_amount(policy, deviation_bps) if action == "run_managed_cycle" else 0 + if action == "run_managed_cycle" and flash_amount == 0: + severity = "warn" + action = "monitor" + reasons.append("deviation does not map to a configured flash amount") + + return { + "severity": severity, + "action": action, + "flashQuoteAmountRaw": flash_amount, + "gasHoldbackTargetRaw": int(policy["managedCycle"]["defaultGasHoldbackTargetRaw"]), + "reasons": reasons, + } + + +def render_shell(result: dict) -> str: + decision = result["decision"] + public_pair = result["publicPair"] + defended = result["defendedVenue"] + values = { + "PUBLIC_PAIR_ADDRESS": public_pair["poolAddress"], + "DEFENDED_POOL_ADDRESS": defended["poolAddress"], + "PUBLIC_PAIR_DEVIATION_BPS": decision.get("publicDeviationBps", ""), + "DECISION_SEVERITY": decision["severity"], + "DECISION_ACTION": decision["action"], + "FLASH_QUOTE_AMOUNT_RAW": str(decision["flashQuoteAmountRaw"]), + "GAS_HOLDBACK_TARGET_RAW": str(decision["gasHoldbackTargetRaw"]), + "REASONS_JSON": json.dumps(decision["reasons"]), + } + lines = [ + f"{key}={shlex.quote(value)}" for key, value in values.items() + ] + return "\n".join(lines) + + +def main() -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--shell", action="store_true", help="Emit shell-friendly KEY=VALUE lines.") + args = parser.parse_args() + + policy = load_json(POLICY_PATH) + deployment_status = load_json(DEPLOYMENT_STATUS) + env_values = merged_env_values() + rpc_url = resolve_rpc_url(policy, env_values) + + chain = deployment_status["chains"][str(policy["network"]["chainId"])] + public_pair = load_public_pair_from_policy(policy, deployment_status) + public_pair["baseAddress"] = chain["cwTokens"][public_pair["base"]] + public_pair["quoteAddress"] = chain["anchorAddresses"][public_pair["quote"]] + + defended_venue = dict(policy["defendedVenue"]) + public_health = query_uniswap_pair_health(rpc_url, public_pair) + defended_health = query_dodo_health(rpc_url, defended_venue) + decision = build_decision(policy, public_health, defended_health) + if public_health.get("live"): + decision["publicDeviationBps"] = public_health["deviationBps"] + + result = { + "policy": { + "path": str(POLICY_PATH), + "thresholds": policy["thresholds"], + }, + "publicPair": public_pair, + "publicPairHealth": public_health, + "defendedVenue": defended_venue, + "defendedVenueHealth": defended_health, + "decision": decision, + } + + if args.shell: + print(render_shell(result)) + else: + print(json.dumps(result, indent=2)) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/verify/execute-promod-uniswap-v2-phase2-wave2-live-subset.sh b/scripts/verify/execute-promod-uniswap-v2-phase2-wave2-live-subset.sh new file mode 100644 index 00000000..1c431992 --- /dev/null +++ b/scripts/verify/execute-promod-uniswap-v2-phase2-wave2-live-subset.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$ROOT" + +source smom-dbis-138/scripts/load-env.sh >/dev/null +python3 scripts/lib/execute_promod_uniswap_v2_phase2_wave2_live_subset.py diff --git a/scripts/verify/import-source-to-cex-offchain-sink-from-env.sh b/scripts/verify/import-source-to-cex-offchain-sink-from-env.sh new file mode 100644 index 00000000..90ca0649 --- /dev/null +++ b/scripts/verify/import-source-to-cex-offchain-sink-from-env.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +python3 "$ROOT/scripts/lib/source_to_cex_offchain_sink_tool.py" import-env "$@" diff --git a/scripts/verify/validate-elemental-imperium-wallet-grid.sh b/scripts/verify/validate-elemental-imperium-wallet-grid.sh new file mode 100755 index 00000000..fd4dd9ed --- /dev/null +++ b/scripts/verify/validate-elemental-imperium-wallet-grid.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# Validate config/pmm-soak-wallet-grid.json (6534 wallets, labels, linearIndex). +set -euo pipefail +ROOT="$(cd "$(dirname "$0")/../.." && pwd)" +exec python3 "$ROOT/scripts/lib/validate_elemental_imperium_wallet_grid.py" diff --git a/scripts/verify/validate-source-to-cex-offchain-sinks.sh b/scripts/verify/validate-source-to-cex-offchain-sinks.sh new file mode 100644 index 00000000..1878a766 --- /dev/null +++ b/scripts/verify/validate-source-to-cex-offchain-sinks.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +python3 "$ROOT/scripts/lib/source_to_cex_offchain_sink_tool.py" validate diff --git a/smom-dbis-138 b/smom-dbis-138 index 07d9ce48..843cdbf7 160000 --- a/smom-dbis-138 +++ b/smom-dbis-138 @@ -1 +1 @@ -Subproject commit 07d9ce4876acf7f9851b4fe3dda32d50f0e95e3e +Subproject commit 843cdbf71cc0551231e511d98cdd67a2932ef9d0 diff --git a/the-order b/the-order index 27c40124..bbb6ce6a 160000 --- a/the-order +++ b/the-order @@ -1 +1 @@ -Subproject commit 27c4012431f47715626f0411336133b4f7818a89 +Subproject commit bbb6ce6a6cbc02e96bec8efd41ad8d1fc0f314a4 diff --git a/token-lists/lists/dbis-138.tokenlist.json b/token-lists/lists/dbis-138.tokenlist.json index da92c4af..7a4cc619 100644 --- a/token-lists/lists/dbis-138.tokenlist.json +++ b/token-lists/lists/dbis-138.tokenlist.json @@ -1 +1 @@ -{"name":"DBIS Chain 138 Token List","version":{"major":1,"minor":6,"patch":1},"timestamp":"2026-02-28T00:00:00.000Z","keywords":["dbis","chain138","defi oracle meta"],"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tokens":[{"chainId":138,"address":"0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6","name":"ETH/USD Price Feed","symbol":"ETH-USD","decimals":8,"logoURI":"https://ipfs.io/ipfs/QmPZuycjyJEe2otREuQ5HirvPJ8X6Yc6MBtwz1VhdD79pY","tags":["oracle","pricefeed"]},{"chainId":138,"address":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","name":"Wrapped Ether","symbol":"WETH","decimals":18,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["defi","wrapped"]},{"chainId":138,"address":"0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9F","name":"Wrapped Ether v10","symbol":"WETH10","decimals":18,"logoURI":"https://ipfs.io/ipfs/QmanDFPHxnbKd6SSNzzXHf9GbpL9dLXSphxDZSPPYE6ds4","tags":["defi","wrapped"]},{"chainId":138,"address":"0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03","name":"Chainlink Token","symbol":"LINK","decimals":18,"logoURI":"https://ipfs.io/ipfs/QmenWcmfNGfssz4HXvrRV912eZDiKqLTt6z2brRYuTGz9A","tags":["defi","oracle","ccip"]},{"chainId":138,"address":"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22","name":"Compliant Tether USD","symbol":"cUSDT","decimals":6,"logoURI":"https://ipfs.io/ipfs/QmRfhPs9DcyFPpGjKwF6CCoVDWUHSxkQR34n9NK7JSbPCP","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0xf22258f57794CC8E06237084b353Ab30fFfa640b","name":"Compliant USD Coin","symbol":"cUSDC","decimals":6,"logoURI":"https://ipfs.io/ipfs/QmNPq4D5JXzurmi9jAhogVMzhAQRk1PZ1r9H3qQUV9gjDm","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x8085961F9cF02b4d800A3c6d386D31da4B34266a","name":"Euro Coin (Compliant)","symbol":"cEURC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0xdf4b71c61E5912712C1Bdd451416B9aC26949d72","name":"Tether EUR (Compliant)","symbol":"cEURT","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x003960f16D9d34F2e98d62723B6721Fb92074aD2","name":"Pound Sterling (Compliant)","symbol":"cGBPC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x350f54e4D23795f86A9c03988c7135357CCaD97c","name":"Tether GBP (Compliant)","symbol":"cGBPT","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0xD51482e567c03899eecE3CAe8a058161FD56069D","name":"Australian Dollar (Compliant)","symbol":"cAUDC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0xEe269e1226a334182aace90056EE4ee5Cc8A6770","name":"Japanese Yen (Compliant)","symbol":"cJPYC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x873990849DDa5117d7C644f0aF24370797C03885","name":"Swiss Franc (Compliant)","symbol":"cCHFC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x54dBd40cF05e15906A2C21f600937e96787f5679","name":"Canadian Dollar (Compliant)","symbol":"cCADC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x290E52a8819A4fbD0714E517225429aA2B70EC6b","name":"Gold (Compliant)","symbol":"cXAUC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["defi","compliant"],"extensions":{"unitOfAccount":"troy_ounce","unitDescription":"1 full token (10^decimals base units) = 1 troy oz fine gold"}},{"chainId":138,"address":"0x94e408E26c6FD8F4ee00b54dF19082FDA07dC96E","name":"Tether XAU (Compliant)","symbol":"cXAUT","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["defi","compliant"],"extensions":{"unitOfAccount":"troy_ounce","unitDescription":"1 full token (10^decimals base units) = 1 troy oz fine gold"}}],"tags":{"defi":{"name":"DeFi","description":"Decentralized Finance tokens"},"wrapped":{"name":"Wrapped","description":"Wrapped tokens representing native assets"},"oracle":{"name":"Oracle","description":"Oracle price feed tokens"},"pricefeed":{"name":"Price Feed","description":"Price feed oracle contracts"},"stablecoin":{"name":"Stablecoin","description":"Stable value tokens pegged to fiat currencies"},"compliant":{"name":"Compliant","description":"Regulatory compliant tokens with compliance features"},"ccip":{"name":"CCIP","description":"Cross Chain Interoperability Protocol tokens"}}} \ No newline at end of file +{"name":"DBIS Chain 138 Token List","version":{"major":1,"minor":6,"patch":1},"timestamp":"2026-02-28T00:00:00.000Z","keywords":["dbis","chain138","defi oracle meta"],"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tokens":[{"chainId":138,"address":"0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6","name":"ETH/USD Price Feed","symbol":"ETH-USD","decimals":8,"logoURI":"https://ipfs.io/ipfs/QmPZuycjyJEe2otREuQ5HirvPJ8X6Yc6MBtwz1VhdD79pY","tags":["oracle","pricefeed"]},{"chainId":138,"address":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","name":"Wrapped Ether","symbol":"WETH","decimals":18,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["defi","wrapped"],"extensions":{"aliasSymbols":["WETH9"],"aliasNote":"Expose WETH9 as a compatibility alias on surfaces that distinguish WETH9 branding; canonical symbol remains WETH."}},{"chainId":138,"address":"0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9F","name":"Wrapped Ether v10","symbol":"WETH10","decimals":18,"logoURI":"https://ipfs.io/ipfs/QmanDFPHxnbKd6SSNzzXHf9GbpL9dLXSphxDZSPPYE6ds4","tags":["defi","wrapped"]},{"chainId":138,"address":"0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03","name":"Chainlink Token","symbol":"LINK","decimals":18,"logoURI":"https://ipfs.io/ipfs/QmenWcmfNGfssz4HXvrRV912eZDiKqLTt6z2brRYuTGz9A","tags":["defi","oracle","ccip"]},{"chainId":138,"address":"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22","name":"Compliant Tether USD","symbol":"cUSDT","decimals":6,"logoURI":"https://ipfs.io/ipfs/QmRfhPs9DcyFPpGjKwF6CCoVDWUHSxkQR34n9NK7JSbPCP","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0xf22258f57794CC8E06237084b353Ab30fFfa640b","name":"Compliant USD Coin","symbol":"cUSDC","decimals":6,"logoURI":"https://ipfs.io/ipfs/QmNPq4D5JXzurmi9jAhogVMzhAQRk1PZ1r9H3qQUV9gjDm","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x8085961F9cF02b4d800A3c6d386D31da4B34266a","name":"Euro Coin (Compliant)","symbol":"cEURC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0xdf4b71c61E5912712C1Bdd451416B9aC26949d72","name":"Tether EUR (Compliant)","symbol":"cEURT","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x003960f16D9d34F2e98d62723B6721Fb92074aD2","name":"Pound Sterling (Compliant)","symbol":"cGBPC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x350f54e4D23795f86A9c03988c7135357CCaD97c","name":"Tether GBP (Compliant)","symbol":"cGBPT","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0xD51482e567c03899eecE3CAe8a058161FD56069D","name":"Australian Dollar (Compliant)","symbol":"cAUDC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0xEe269e1226a334182aace90056EE4ee5Cc8A6770","name":"Japanese Yen (Compliant)","symbol":"cJPYC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x873990849DDa5117d7C644f0aF24370797C03885","name":"Swiss Franc (Compliant)","symbol":"cCHFC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x54dBd40cF05e15906A2C21f600937e96787f5679","name":"Canadian Dollar (Compliant)","symbol":"cCADC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x290E52a8819A4fbD0714E517225429aA2B70EC6b","name":"Gold (Compliant)","symbol":"cXAUC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["defi","compliant"],"extensions":{"unitOfAccount":"troy_ounce","unitDescription":"1 full token (10^decimals base units) = 1 troy oz fine gold"}},{"chainId":138,"address":"0x94e408E26c6FD8F4ee00b54dF19082FDA07dC96E","name":"Tether XAU (Compliant)","symbol":"cXAUT","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["defi","compliant"],"extensions":{"unitOfAccount":"troy_ounce","unitDescription":"1 full token (10^decimals base units) = 1 troy oz fine gold"}}],"tags":{"defi":{"name":"DeFi","description":"Decentralized Finance tokens"},"wrapped":{"name":"Wrapped","description":"Wrapped tokens representing native assets"},"oracle":{"name":"Oracle","description":"Oracle price feed tokens"},"pricefeed":{"name":"Price Feed","description":"Price feed oracle contracts"},"stablecoin":{"name":"Stablecoin","description":"Stable value tokens pegged to fiat currencies"},"compliant":{"name":"Compliant","description":"Regulatory compliant tokens with compliance features"},"ccip":{"name":"CCIP","description":"Cross Chain Interoperability Protocol tokens"}}} \ No newline at end of file